diff --git a/product/ERP5Form/PreferenceTool.py b/product/ERP5Form/PreferenceTool.py index d3a98820606cdaa60a7bdfce5281d5d6622a4cf4..eb9b6365a1efb13005fc45ee3332d4fc5970c366 100644 --- a/product/ERP5Form/PreferenceTool.py +++ b/product/ERP5Form/PreferenceTool.py @@ -295,8 +295,9 @@ class PreferenceTool(BaseTool): security.declareProtected(Permissions.ManagePortal, 'createPreferenceForUser') - def createPreferenceForUser(self, username): - """Creates a preference for a given user. + def createPreferenceForUser(self, username, enable=True): + """Creates a preference for a given user, and optionnally enable the + preference. """ security_manager = getSecurityManager() try: @@ -305,7 +306,10 @@ class PreferenceTool(BaseTool): if user is None: raise ValueError("User %r not found" % (username, )) newSecurityManager(None, user.__of__(user_folder)) - return self.newContent(portal_type='Preference') + preference = self.newContent(portal_type='Preference') + if enable: + preference.enable() + return preference finally: setSecurityManager(security_manager)