← Back to team overview

dhis2-devs team mailing list archive

Re: User Module - Error deleting user

 

Right, so the user was deleted? 204 is expected for that. It's only for
server errors I have changed

-- 
Morten Olav Hansen
Senior Engineer, DHIS 2
University of Oslo
http://www.dhis2.org

On Thu, Jun 16, 2016 at 2:26 PM, Paulo Grácio <paulogracio@xxxxxxxxx> wrote:

> http://localhost:8085/api/users/URq9lLcM8ID
>
> 204 NO CONTENT
> The server has successfully fulfilled the request and that there is no
> additional content to send in the response payload body.
>
> On Thu, Jun 16, 2016 at 9:24 AM Morten Olav Hansen <morten@xxxxxxxxx>
> wrote:
>
>> 204? for which endpoint? that doesn't sound right :)
>>
>> --
>> Morten Olav Hansen
>> Senior Engineer, DHIS 2
>> University of Oslo
>> http://www.dhis2.org
>>
>> On Thu, Jun 16, 2016 at 2:22 PM, Paulo Grácio <paulogracio@xxxxxxxxx>
>> wrote:
>>
>>> Great, getting a 204.
>>>
>>> On Thu, Jun 16, 2016 at 8:39 AM Morten Olav Hansen <morten@xxxxxxxxx>
>>> wrote:
>>>
>>>> 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 <paulogracio@xxxxxxxxx>
>>>> 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.pickering@xxxxxxxxx> 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 <
>>>>>> morten@xxxxxxxxx> 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.pickering@xxxxxxxxx> 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 <
>>>>>>>> morten@xxxxxxxxx> 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 <
>>>>>>>>> paulogracio@xxxxxxxxx> 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 <
>>>>>>>>>> lars@xxxxxxxxx> 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 <
>>>>>>>>>>> paulogracio@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>>>> 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
>>>>>>>>>>> lars@xxxxxxxxx
>>>>>>>>>>> http://www.dhis2.org <https://www.dhis2.org/>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> Mailing list: https://launchpad.net/~dhis2-devs
>>>>>>>>> Post to     : dhis2-devs@xxxxxxxxxxxxxxxxxxx
>>>>>>>>> Unsubscribe : https://launchpad.net/~dhis2-devs
>>>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jason P. Pickering
>>>>>>>> email: jason.p.pickering@xxxxxxxxx
>>>>>>>> tel:+46764147049
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jason P. Pickering
>>>>>> email: jason.p.pickering@xxxxxxxxx
>>>>>> tel:+46764147049
>>>>>>
>>>>>
>>>>
>>

Follow ups

References