[Erp5-report] r15471 - /erp5/branches/products-CMFActivity-plone-integration/CMFActivity/

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Aug 3 18:06:02 CEST 2007


Author: tbenita
Date: Fri Aug  3 18:06:01 2007
New Revision: 15471

URL: http://svn.erp5.org?rev=15471&view=rev
Log:
Add a 'doLater' method so that you're not required to subclass from
ActiveObject.


Modified:
    erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py
    erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py

Modified: erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py
URL: http://svn.erp5.org/erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py?rev=15471&r1=15470&r2=15471&view=diff
==============================================================================
--- erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py (original)
+++ erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py Fri Aug  3 18:06:01 2007
@@ -43,7 +43,7 @@
 
 from zLOG import LOG, WARNING
 
-DEFAULT_ACTIVITY = 'SQLDict'
+DEFAULT_ACTIVITY = 'RAMDict'
 
 # Processing node are used to store processing state or processing node
 DISTRIBUTABLE_STATE = -1

Modified: erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py
URL: http://svn.erp5.org/erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py?rev=15471&r1=15470&r2=15471&view=diff
==============================================================================
--- erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py (original)
+++ erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py Fri Aug  3 18:06:01 2007
@@ -55,7 +55,7 @@
 from Globals import InitializeClass, DTMLFile
 from Acquisition import aq_base
 from Acquisition import aq_inner
-from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE
+from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE, ActiveObject
 from ActivityBuffer import ActivityBuffer
 from zExceptions import ExceptionFormatter
 
@@ -967,6 +967,14 @@
     def getPortalObject(self):
       return self.portal_url.getPortalObject().acl_users # XXX Very unefficient - temp for Plone
 
-
+    def doLater(self, method):
+      obj = method.im_self
+      original_class = obj.__class__
+      class Active(original_class, ActiveObject):
+        pass
+      obj.__class__ = Active
+      wrapper = getattr(obj.activate(), method.__name__)
+      obj.__class__ = original_class
+      return wrapper
 
 InitializeClass(ActivityTool)




More information about the Erp5-report mailing list