diff --git a/product/ERP5Type/Utils.py b/product/ERP5Type/Utils.py index d6703ff5e869c2d63443c5d0698a54706d32b996..922252cab605fa5e307e6485af94b3e7ac60c467 100644 --- a/product/ERP5Type/Utils.py +++ b/product/ERP5Type/Utils.py @@ -2762,3 +2762,19 @@ class sha(GenericSum): allow_class(sha) +##################################################### +# Security +##################################################### + +def _setSuperSecurityManager(self, user_name=None): + """ Change to super user account or passed user_name. + Return original Security Manager + """ + original_security_manager = getSecurityManager() + if user_name is not None: + user_folder = self.getPortalObject().acl_users + user = user_folder.getUserById(user_name).__of__(user_folder) + else: + user = self.getWrappedOwner() + newSecurityManager(self.REQUEST, user) + return original_security_manager