Hibernate exception should now be caught, and a web message sent back, please try it out. Also added a new default exception handler, which unwraps the message and sends back to the user (full stack trace is still available on the server).
@Paulo: deletions -should- be allowed... but I don't think it will be fixed in time for 2.24, at least now our error message should be a bit more clear -- Morten Olav Hansen Senior Engineer, DHIS 2 University of Oslo http://www.dhis2.org On Tue, Jun 14, 2016 at 7:26 PM, Paulo Grácio <paulogra...@gmail.com> wrote: > Hi, > > maybe I'm missing something but, just one more question, is there any > situation where we can delete a user? > > If not maybe we can return 403 - Method Not Allowed, once DELETE is not > supported by User resource. > > /Paulo > > On Tue, Jun 14, 2016 at 12:56 PM Jason Pickering < > jason.p.picker...@gmail.com> wrote: > >> 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