diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py index 6f07966e847248ae76da0a88c4699d597ecb6849..688dd9673c5202a00865026fe9d2fb54e973ce00 100644 --- a/product/ERP5Type/Base.py +++ b/product/ERP5Type/Base.py @@ -1922,7 +1922,7 @@ class Base( CopyContainer, """ Returns the url of an object relative to the portal site. """ - return self.portal_url.getRelativeUrl(self) + return self.getPortalObject().portal_url.getRelativeUrl(self) security.declareProtected(Permissions.AccessContentsInformation, 'getAbsoluteUrl') @@ -3212,7 +3212,7 @@ class Base( CopyContainer, Returns the creation date of the document based on workflow information """ # Check if edit_workflow defined - portal_workflow = getToolByName(self, 'portal_workflow') + portal_workflow = getToolByName(self.getPortalObject(), 'portal_workflow') wf = portal_workflow.getWorkflowById('edit_workflow') wf_list = list(portal_workflow.getWorkflowsFor(self)) if wf is not None: wf_list = [wf] + wf_list @@ -3238,7 +3238,7 @@ class Base( CopyContainer, variable on the workflow which is an alias to time. """ # Check if edit_workflow defined - portal_workflow = getToolByName(self, 'portal_workflow') + portal_workflow = getToolByName(self.getPortalObject(), 'portal_workflow') wf = portal_workflow.getWorkflowById('edit_workflow') wf_list = list(portal_workflow.getWorkflowsFor(self)) if wf is not None: diff --git a/product/ERP5Type/CopySupport.py b/product/ERP5Type/CopySupport.py index fd961ec2f2bb30d3db2b07d471673d2da77edcf7..a2a54202c4d3bea45c42e851cf4ccba555799e12 100644 --- a/product/ERP5Type/CopySupport.py +++ b/product/ERP5Type/CopySupport.py @@ -72,7 +72,7 @@ class CopyContainer: ids=[uids] oblist=[] for uid in uids: - ob=self.portal_catalog.getObject(uid) + ob=self.getPortalObject().portal_catalog.getObject(uid) if not ob.cb_isCopyable(): raise CopyError, eNotSupported % uid m=Moniker.Moniker(ob) @@ -187,7 +187,7 @@ class CopyContainer: ids=[uids] oblist=[] for uid in uids: - ob=self.portal_catalog.getObject(uid) + ob=self.getPortalObject().portal_catalog.getObject(uid) if not ob.cb_isMoveable(): raise CopyError, eNotSupported % id m=Moniker.Moniker(ob) @@ -221,7 +221,7 @@ class CopyContainer: action ='./manage_main',) while uids: uid=uids[-1] - ob=self.portal_catalog.getObject(uid) + ob=self.getPortalObject().portal_catalog.getObject(uid) container = ob.aq_inner.aq_parent id = ob.id v=container._getOb(id, self) @@ -243,7 +243,7 @@ class CopyContainer: self_base = aq_base(self) #LOG("After Clone ",0, "self:%s item:%s" % (repr(self), repr(item))) #LOG("After Clone ",0, "self:%s item:%s" % (repr(self), repr(self.getPortalObject().objectIds()))) - portal_catalog = getToolByName(self, 'portal_catalog') + portal_catalog = getToolByName(self.getPortalObject(), 'portal_catalog') self_base.uid = portal_catalog.newUid() # Give the Owner local role to the current user, zope only does this if no @@ -348,7 +348,7 @@ class CopyContainer: Unindex the object from the portal catalog. """ if self.isIndexable: - catalog = getToolByName(self, 'portal_catalog', None) + catalog = getToolByName(self.getPortalObject(), 'portal_catalog', None) if catalog is not None: # Make sure there is not activity for this object self.flushActivity(invoke=0) @@ -388,7 +388,7 @@ class CopyContainer: # Update the modification date. if getattr(aq_base(self), 'notifyModified', _marker) is not _marker: self.notifyModified() - catalog = getToolByName(self, 'portal_catalog', None) + catalog = getToolByName(self.getPortalObject(), 'portal_catalog', None) if catalog is not None: catalog.moveObject(self, idxs=idxs) @@ -499,7 +499,7 @@ class CopyContainer: def _postDuplicate(self): self_base = aq_base(self) - portal_catalog = getToolByName(self, 'portal_catalog') + portal_catalog = getToolByName(self.getPortalObject(), 'portal_catalog') self_base.uid = portal_catalog.newUid() # Give the Owner local role to the current user, zope only does this if no diff --git a/product/ERP5Type/ERP5Type.py b/product/ERP5Type/ERP5Type.py index 31bb9e660f3a37a9bb860a9a53f58e50eb255f1f..645f21ee9ccd81179c2ff620f54826d930990223 100755 --- a/product/ERP5Type/ERP5Type.py +++ b/product/ERP5Type/ERP5Type.py @@ -370,7 +370,7 @@ class ERP5TypeInformation(XMLObject, # notify workflow after generating local roles, in order to prevent # Unauthorized error on transition's condition - workflow_tool = getToolByName(self, 'portal_workflow', None) + workflow_tool = getToolByName(self.getPortalObject(), 'portal_workflow', None) if workflow_tool is not None: for workflow in workflow_tool.getWorkflowsFor(ob): workflow.notifyCreated(ob)