Hi Morten, We discussed by chat, but just for the benefit of others and to be sure that the test seems reasonable. The scenario is that when users which cannot be deleted for various reasons (like associated with this object or that object) cannot be deleted, the server returns something like
500: could not reassociate uninitialized transient collection or * ERROR 2016-06-14 12:45:35,311 Error while executing action (ExceptionInterceptor.java [http-bio-8080-exec-8]) org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [fk_document_userid]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement from the server side. What happens from the UI is you get a "Deleting..." message which spins forever. I think it might be better to catch the error and return this to the client and inform them that the user could not be deleted due to associations/constraints/ etc similar to when you attempt to delete an organisation unit or data element, which cannot be deleted. A 500 seems to be an unexpected error, but in this case, we should know that the user cannot be deleted due to constraints. Hope this makes sense. Regards, Jason On Tue, Jun 14, 2016 at 12:07 PM, Morten Olav Hansen <mor...@dhis2.org> wrote: > Hm, a 403 (Forbidden) makes it seem like the user is trying to do > something he should not be allowed. I think 500 is fine in this case, as it > signals an internal server error. > > Probably we should be better at catching these exception, and returning > some kind of message to the user (not just 500 internal error which doesn't > really mean anything to the end user). > > -- > Morten Olav Hansen > Senior Engineer, DHIS 2 > University of Oslo > http://www.dhis2.org > > On Tue, Jun 14, 2016 at 4:42 PM, Jason Pickering < > jason.p.picker...@gmail.com> wrote: > >> Hi Morten, >> >> As we continue with the development of the integration tetss, part of it >> will be to determine what is the expected response to certain operations. >> Maybe the fixes will not lead to a 500, or maybe that would be the expected >> response. Maybe a 403 or something would be better than a 500, if you are >> not allowed to delete a user for some reason? >> >> Regards, >> Jason >> >> >> On Tue, Jun 14, 2016 at 11:35 AM, Morten Olav Hansen <mor...@dhis2.org> >> wrote: >> >>> Hi Paulo >>> >>> I have made a few changes to trunk and 2.23 which might help you. That >>> said, there are still a few cases where deletion will not be allowed. >>> >>> You could also try to simple disable the user, so they are not allowed >>> to login. >>> >>> -- >>> Morten Olav Hansen >>> Senior Engineer, DHIS 2 >>> University of Oslo >>> http://www.dhis2.org >>> >>> On Mon, Jun 13, 2016 at 11:32 PM, Paulo Grácio <paulogra...@gmail.com> >>> wrote: >>> >>>> Hi Lars, >>>> >>>> you can find the server.log in attach. The test case is also available >>>> here >>>> >>>> https://github.com/pgracio/dhis2-api-system-test/blob/master/modules/users.js >>>> >>>> BR, >>>> Paulo >>>> >>>> On Mon, Jun 13, 2016 at 10:01 AM Lars Helge Øverland <l...@dhis2.org> >>>> wrote: >>>> >>>>> Hi Paulo, >>>>> >>>>> can you check the tomcat log on the server side? >>>>> >>>>> What likely is going on here is the user being associated with >>>>> multiple objects through sharing (e.g. data elements), or as owner (e.g. >>>>> favorites). The deletion handling of users is not fully in place, simply >>>>> because almost all of our tables potentially can be linked to the user >>>>> table. >>>>> >>>>> regards, >>>>> >>>>> Lars >>>>> >>>>> >>>>> >>>>> >>>>> On Sat, Jun 11, 2016 at 6:54 PM, Paulo Grácio <paulogra...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> when trying to delete an user using API, DELETE - >>>>>> http://localhost:8085/api/users/zTsuPZnHqaO I'm getting a 500 - >>>>>> Internal Error with >>>>>> >>>>>> Request processing failed; nested exception is >>>>>> org.springframework.dao.DataIntegrityViolationException: could not >>>>>> execute >>>>>> statement; SQL [n/a]; constraint [fk6a68e08f19893da]; nested exception is >>>>>> org.hibernate.exception.ConstraintViolationException: could not execute >>>>>> statement >>>>>> >>>>>> is this expected? Should I make a different call before delete the >>>>>> User? It works fine when deleting in Web UI. >>>>>> >>>>>> Best regards, >>>>>> Paulo >>>>>> >>>>>> _______________________________________________ >>>>>> Mailing list: https://launchpad.net/~dhis2-devs >>>>>> Post to : dhis2-devs@lists.launchpad.net >>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs >>>>>> More help : https://help.launchpad.net/ListHelp >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Lars Helge Øverland >>>>> Lead developer, DHIS 2 >>>>> University of Oslo >>>>> Skype: larshelgeoverland >>>>> l...@dhis2.org >>>>> http://www.dhis2.org <https://www.dhis2.org/> >>>>> >>>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~dhis2-devs >>>> Post to : dhis2-devs@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~dhis2-devs >>>> More help : https://help.launchpad.net/ListHelp >>>> >>>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~dhis2-devs >>> Post to : dhis2-devs@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~dhis2-devs >>> More help : https://help.launchpad.net/ListHelp >>> >>> >> >> >> -- >> Jason P. Pickering >> email: jason.p.picker...@gmail.com >> tel:+46764147049 >> > > -- Jason P. Pickering email: jason.p.picker...@gmail.com tel:+46764147049
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : dhis2-devs@lists.launchpad.net Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp