diff --git a/product/CMFActivity/ActiveObject.py b/product/CMFActivity/ActiveObject.py index 450dd490a18996d0bbf4f5a244335865fcbbd3df..d2582cc263ca06f9c19833f2c71f31a6b912a149 100755 --- a/product/CMFActivity/ActiveObject.py +++ b/product/CMFActivity/ActiveObject.py @@ -42,7 +42,7 @@ class ActiveObject(ExtensionClass.Base): security = ClassSecurityInfo() - def activate(self, activity=DEFAULT_ACTIVITY, active_process=None, **kw): + def activate(self, activity=DEFAULT_ACTIVITY, active_process=None, passive_commit=0, **kw): activity_tool = getattr(self, 'portal_activities', None) if activity_tool is None: return self # Do nothing if no portal_activities # activate returns an ActiveWrapper @@ -56,6 +56,7 @@ class ActiveObject(ExtensionClass.Base): LOG("WARNING CMFActivity:",0, 'could not create activity for %s' % self.getRelativeUrl()) # If the portal_activities were not created # return a passive object + if passive_commit: get_transaction().commit() return self security.declareProtected( CMFCorePermissions.ModifyPortalContent, 'hasActivity' )