diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py index 1ac918cda5b686bcda910f06baee4227edcd908f..163262f60665f914eae6bd54754d952c698a1090 100755 --- a/product/ERP5Type/Base.py +++ b/product/ERP5Type/Base.py @@ -76,6 +76,7 @@ try: except ImportError: pass +from ZODB.POSException import ConflictError from zLOG import LOG, INFO, ERROR, WARNING class WorkflowMethod(Method): @@ -991,7 +992,7 @@ class Base( CopyContainer, PortalContent, ActiveObject, ERP5PropertyManager ): # Accessing object property Ids security.declareProtected( Permissions.View, 'getPropertyIdList' ) def getPropertyIdList(self): - return propertyIds() + return self.propertyIds() #return map(lambda p: p['id'], self.__class__._properties) # Catalog Related @@ -1339,7 +1340,7 @@ class Base( CopyContainer, PortalContent, ActiveObject, ERP5PropertyManager ): # XXX This is a problem - it is used to circumvent a lack of edit security.declareProtected( Permissions.ModifyPortalContent, 'setCategoryMembership' ) - def setCategoryMembership(self, category, node_list, spec=(), base=0): + def setCategoryMembership(self, category, node_list, spec=(), portal_type=(), base=0): self._setCategoryMembership(category, node_list, spec=spec, filter=filter, portal_type=portal_type, base=base) self.reindexObject() @@ -1403,6 +1404,7 @@ class Base( CopyContainer, PortalContent, ActiveObject, ERP5PropertyManager ): # Advanced behaviour XXX This is new and needs to be checked membership_list = self._getAcquiredCategoryMembershipList(category, spec = spec, filter=filter, portal_type=portal_type, base=1) + result = [] for path in membership_list: value = self._getCategoryTool().resolveCategory(path) if value is not None: