restore deleted user

Hello! I made a REST API call to DELETE a user and the deletion was successful.

1) Is there a way to undelete or restore the deleted user?

2) Are there any time limits before which the deleted user has to be restored?

3) If undelete is not possible, is there a way to transfer the user's data (like leads, opportunities, etc.,) to some other user or an Admin?

I tried making a POST call sending the same details of a deleted user (like id, user_name, first and last_names), but it resulted in an HTTP 500 status. The response payload read something like 'Database failure. Please refer to sugarcrm.log for details.' Is this expected or a bug?

Parents
  • Hello,

    If you have deleted Users using the REST API then you can restore it. Basically when you delete any record using REST API or SugarCRM interface it will not delete record from the database. It just mark deleted flag to true. 

    So, to restore your deleted record go to the users table of CRM database and updated value in the deleted field to '0' for desired user record.

    As SugarCRM do not delete record permanently you can restore it at any time there is no time limit to restore.

    Regarding the error with code 500, please check your php log. there might be some error in execution.

    Hope this will helps you!

    Thanks

Reply
  • Hello,

    If you have deleted Users using the REST API then you can restore it. Basically when you delete any record using REST API or SugarCRM interface it will not delete record from the database. It just mark deleted flag to true. 

    So, to restore your deleted record go to the users table of CRM database and updated value in the deleted field to '0' for desired user record.

    As SugarCRM do not delete record permanently you can restore it at any time there is no time limit to restore.

    Regarding the error with code 500, please check your php log. there might be some error in execution.

    Hope this will helps you!

    Thanks

Children
  • Thanks Maulik. So are you saying that the user could be restored by manipulating the database, but not through SugarCRM UI or REST API? If so, do you have any plans to include this feature as part of the REST API or UI?

    Also, the 500 error with a message mentioning Sugarcrm.log file is part of the response of the REST API. How do I check the log file? I guess it would be generated in the server where SugarCRM REST API is running.

  • Hi admin guy,

    I'm not sure wether the standard SugarCRM REST API v10 lets you update the "deleted" field of any record, as I think that when you try to 'GET' the user for instance by ID, the API would through a 404 error or something like this, indicating that the user hasn't been found in the system.

    However, you could create your custom endpoint, receiving as a parameter for instance the username (or the user ID, as desired), and then performing an SQL query in order to look for the given user in the database, and then UPDATE it using again an SQL query.

    Knowing that, you can create your custom endpoint and then perform an SQL query (SELECT) to fetch the user in the database, and then if found perform the UPDATE query in order to bring it back to life... something like:

    UPDATE users SET deleted = 0 WHERE user_name = "jon.doe"

    You also must take into account that if you've got enabled for your instance the Prune Database on 1st Month  scheduler, then your users will be always deleted on 1st of every month and then you won't be able to restore them.

    Hope this helps.

    Regards,

    David.