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

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Aug 3 15:04:36 CEST 2007


Author: tbenita
Date: Fri Aug  3 15:04:36 2007
New Revision: 15455

URL: http://svn.erp5.org?rev=15455&view=rev
Log:
integration of jean-paul patch 

Modified:
    erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py
    erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveProcess.py
    erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py
    erp5/branches/products-CMFActivity-plone-integration/CMFActivity/__init__.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=15455&r1=15454&r2=15455&view=diff
==============================================================================
--- erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py (original)
+++ erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveObject.py Fri Aug  3 15:04:36 2007
@@ -31,7 +31,10 @@
 from Acquisition import aq_base
 from ZODB.POSException import ConflictError
 from Products.CMFCore.utils import getToolByName
-from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
+try:
+  from Products.ERP5Type.TransactionalVariable import getTransactionalVariable
+except:
+  from TransactionalVariable import getTransactionalVariable # local implementation for Plone
 
 try:
   from Products.CMFCore import permissions

Modified: erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveProcess.py
URL: http://svn.erp5.org/erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveProcess.py?rev=15455&r1=15454&r2=15455&view=diff
==============================================================================
--- erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveProcess.py (original)
+++ erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActiveProcess.py Fri Aug  3 15:04:36 2007
@@ -29,9 +29,29 @@
 from Acquisition import aq_base
 from Globals import InitializeClass, DTMLFile
 from AccessControl import ClassSecurityInfo
-from Products.CMFCore import CMFCorePermissions
-from Products.ERP5Type.Base import Base
-from Products.ERP5Type import PropertySheet
+
+try:
+  from Products.CMFCore import CMFCorePermissions
+except ImportError:
+  from Products.CMFCore import permissions as CMFCorePermissions # Support newer CMF for Plone
+
+try:
+  from Products.ERP5Type.Base import Base
+except ImportError:
+  class Base:
+    # no support for active results and processes in Plone (yet)
+    pass  
+
+try:
+  from Products.ERP5Type import PropertySheet
+except ImportError:
+  # no support for active results and processes in Plone (yet)
+  class FakeModule:
+    def __init__(self, **kw):
+      self.__dict__.update(kw)
+    pass
+  PropertySheet = FakeModule(Base=None,  SimpleItem=None, Folder=None, ActiveProcess=None)
+  
 from BTrees.IOBTree import IOBTree
 from BTrees.Length import Length
 from Products.CMFActivity.ActiveObject import DISTRIBUTABLE_STATE, INVOKE_ERROR_STATE, VALIDATE_ERROR_STATE

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=15455&r1=15454&r2=15455&view=diff
==============================================================================
--- erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py (original)
+++ erp5/branches/products-CMFActivity-plone-integration/CMFActivity/ActivityTool.py Fri Aug  3 15:04:36 2007
@@ -33,9 +33,18 @@
 from types import TupleType, StringType
 import re
 
-from Products.CMFCore import CMFCorePermissions
-from Products.ERP5Type.Core.Folder import Folder
-from Products.CMFActivity.ActiveResult import ActiveResult
+try:
+  from Products.CMFCore import CMFCorePermissions
+except ImportError:
+  from Products.CMFCore import permissions as CMFCorePermissions # Support newer CMF for Plone
+try:
+  from Products.ERP5Type.Core.Folder import Folder
+except ImportError:
+  from Products.CMFCore.CMFBTreeFolder import CMFBTreeFolder as Folder # Use non ERP5 Folder for Plone
+try:
+  from Products.CMFActivity.ActiveResult import ActiveResult
+except ImportError:
+  pass # no support for active results and processes in Plone (yet)
 from Products.PythonScripts.Utility import allow_class
 from AccessControl import ClassSecurityInfo, Permissions
 from AccessControl.SecurityManagement import newSecurityManager
@@ -137,6 +146,7 @@
 
   def changeUser(self, user_name, activity_tool):
     """restore the security context for the calling user."""
+    LOG('changeUser', 0, user_name)
     uf = activity_tool.getPortalObject().acl_users
     user = uf.getUserById(user_name)
     # if the user is not found, try to get it from a parent acl_users
@@ -154,6 +164,7 @@
       LOG("CMFActivity", WARNING,
           "Unable to find user %s in the portal" % user_name)
       noSecurityManager()
+    LOG('user', 0, repr(user))
     return user
 
   def activateResult(self, activity_tool, result, object):
@@ -953,4 +964,9 @@
       for activity in activity_list:
         activity.timeShift(aq_inner(self), delay)
 
+    def getPortalObject(self):
+      return self.portal_url.getPortalObject().acl_users # XXX Very unefficient - temp for Plone
+
+
+
 InitializeClass(ActivityTool)

Modified: erp5/branches/products-CMFActivity-plone-integration/CMFActivity/__init__.py
URL: http://svn.erp5.org/erp5/branches/products-CMFActivity-plone-integration/CMFActivity/__init__.py?rev=15455&r1=15454&r2=15455&view=diff
==============================================================================
--- erp5/branches/products-CMFActivity-plone-integration/CMFActivity/__init__.py (original)
+++ erp5/branches/products-CMFActivity-plone-integration/CMFActivity/__init__.py Fri Aug  3 15:04:36 2007
@@ -31,7 +31,10 @@
 """
 
 # Update ERP5 Globals
-from Products.ERP5Type.Utils import initializeProduct, updateGlobals
+try:
+  from Products.ERP5Type.Utils import initializeProduct, updateGlobals
+except ImportError:
+  from Utils import initializeProduct, updateGlobals
 import sys, Permissions
 this_module = sys.modules[ __name__ ]
 document_classes = updateGlobals( this_module, globals(), permissions_module = Permissions)




More information about the Erp5-report mailing list