From 9302ef2845d15cc06fb26ae10f18834c56db0775 Mon Sep 17 00:00:00 2001 From: Jean-Paul Smets <jp@nexedi.com> Date: Tue, 6 Jan 2004 15:04:41 +0000 Subject: [PATCH] better handling of passive sites (without portal_activities) git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@167 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/CMFActivity/ActiveObject.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/product/CMFActivity/ActiveObject.py b/product/CMFActivity/ActiveObject.py index 7c56deb15f..450dd490a1 100755 --- a/product/CMFActivity/ActiveObject.py +++ b/product/CMFActivity/ActiveObject.py @@ -43,12 +43,14 @@ class ActiveObject(ExtensionClass.Base): security = ClassSecurityInfo() def activate(self, activity=DEFAULT_ACTIVITY, active_process=None, **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 # a queue can be provided as well as extra parameters # which can be used for example to define deferred tasks try: #if 1: - return self.portal_activities.activate(self, activity, active_process, **kw) + return activity_tool.activate(self, activity, active_process, **kw) #else: except: LOG("WARNING CMFActivity:",0, 'could not create activity for %s' % self.getRelativeUrl()) @@ -58,10 +60,12 @@ class ActiveObject(ExtensionClass.Base): security.declareProtected( CMFCorePermissions.ModifyPortalContent, 'hasActivity' ) def flushActivity(self, invoke=0, **kw): + activity_tool = getattr(self, 'portal_activities', None) + if activity_tool is None: return # Do nothing if no portal_activities # flush all activities related to this object #try: if 1: - self.portal_activities.flush(self, invoke=invoke, **kw) + activity_tool.flush(self, invoke=invoke, **kw) #except: # # If the portal_activities were not created # # nothing to do @@ -81,8 +85,10 @@ class ActiveObject(ExtensionClass.Base): """ Tells if an object if active """ + activity_tool = getattr(self, 'portal_activities', None) + if activity_tool is None: return 0 # Do nothing if no portal_activities try: - return self.portal_activities.hasActivity(self, **kw) + return activity_tool.hasActivity(self, **kw) except: # If the portal_activities were not created # there can not be any activity @@ -90,4 +96,6 @@ class ActiveObject(ExtensionClass.Base): security.declareProtected( CMFCorePermissions.View, 'hasActivity' ) def getActiveProcess(self): + activity_tool = getattr(self, 'portal_activities', None) + if activity_tool is None: return None # Do nothing if no portal_activities return self.portal_activities.getActiveProcess() -- 2.30.9