diff --git a/product/ERP5SyncML/Tool/SynchronizationTool.py b/product/ERP5SyncML/Tool/SynchronizationTool.py index 426b7d710e5f019aee23412f697b6a2281b73747..a16a32a56d68a053c1307fc0254d6b0e9ce604ce 100644 --- a/product/ERP5SyncML/Tool/SynchronizationTool.py +++ b/product/ERP5SyncML/Tool/SynchronizationTool.py @@ -1110,8 +1110,13 @@ class SynchronizationTool(BaseTool): subscription.initLastMessageId() # save the actual user to use it in all the session: - user = getSecurityManager().getUser() - subscription._edit(zope_user=user.getId()) + user_id = getSecurityManager().getUser().getId() + user_folder = self.getPortalObject().acl_users + user = user_folder.getUserById(user_id) + if user is None: + raise ValueError, "Current logged user %s cannot be found in user folder, \ + synchronization cannot work with this kind of user" + subscription._edit(zope_user=user_id) if subscription.getAuthenticationState() != 'logged_in': subscription.login()