From 37571dfbbdf6ff4c53d1a3d2875c8c1daecf67dd Mon Sep 17 00:00:00 2001 From: Jean-Paul Smets <jp@nexedi.com> Date: Sun, 13 Feb 2005 09:02:31 +0000 Subject: [PATCH] LOG merged (still commented) git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@2463 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/CMFCategory/CategoryTool.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/product/CMFCategory/CategoryTool.py b/product/CMFCategory/CategoryTool.py index 017c065f8b..3e6537f9c9 100755 --- a/product/CMFCategory/CategoryTool.py +++ b/product/CMFCategory/CategoryTool.py @@ -476,7 +476,7 @@ class CategoryTool( UniqueObject, Folder, Base ): security.declareProtected( Permissions.AccessContentsInformation, 'getCategoryMembershipList' ) def getCategoryMembershipList(self, context, base_category, base=0, - spec=(), filter=None, **kw ): + spec=(), filter=None, **kw ): """ Returns a list of category membership represented as a list of relative URLs @@ -761,7 +761,8 @@ class CategoryTool( UniqueObject, Folder, Base ): acquisition_sync_value -- if set to 1, keep self and looked up value in sync """ - # LOG("Get Acquired Category ",0,str((base_category, context))) + #LOG("Get Acquired Category ",0,str((base_category, context,))) + #LOG("Get Acquired Category acquired_object_dict: ",0,str(acquired_object_dict)) # XXX We must use filters in the future # where_expression = self._buildQuery(spec, filter, kw) @@ -800,10 +801,12 @@ class CategoryTool( UniqueObject, Folder, Base ): acquired_object_dict[context_base_key] = type_dict result = self.getSingleCategoryMembershipList( context, base_category, base=base, - spec=spec, filter=filter, **kw ) - + spec=spec, filter=filter, **kw ) # Not acquired because this is the first try + # to get a local defined category + base_category_value = self.getCategoryValue(base_category) - # LOG("result",0,str(result)) + #LOG("base_category_value",0,str(base_category_value)) + #LOG("result",0,str(result)) if base_category_value is not None: # If we do not mask or append, return now if not empty if base_category_value.getAcquisitionMaskValue() and \ @@ -888,12 +891,12 @@ class CategoryTool( UniqueObject, Folder, Base ): # We should only consider objects which define that category if base_category in my_acquisition_object._categories: if spec is () or my_acquisition_object.portal_type in spec: - #LOG("Recursive call ",0,str(spec)) + #LOG("Recursive call ",0,str((spec, my_acquisition_object.portal_type))) new_result = self.getSingleCategoryAcquiredMembershipList(my_acquisition_object, base_category, spec=spec, filter=filter, portal_type=portal_type, base=base, acquired_object_dict=acquired_object_dict) else: - #LOG("No recursive call ",0,str(spec)) + #LOG("No recursive call ",0,str((spec, my_acquisition_object.portal_type))) new_result = [] if base_category_value.acquisition_append_value: # If acquisition appends, then we must append to the result @@ -932,15 +935,15 @@ class CategoryTool( UniqueObject, Folder, Base ): """ Returns all acquired category values """ - #LOG("Get Acquired Category", 0, "%s %s" % (base_category, context.getRelativeUrl())) + #LOG("Get Acquired Category List", 0, "%s %s" % (base_category, context.getRelativeUrl())) result = [] if base_category is None: - base_category_list = context._categories + base_category_list = context._categories # XXX incompatible with ERP5Type per portal categories elif type(base_category) is type('a'): base_category_list = [base_category] else: base_category_list = base_category - #LOG('CT.getAcquiredCategoryMembershipList result',0,result) + #LOG('CT.getAcquiredCategoryMembershipList base_category_list',0,base_category_list) for base_category in base_category_list: result += self.getSingleCategoryAcquiredMembershipList(context, base_category, base=base, spec=spec, filter=filter, acquired_object_dict=acquired_object_dict, **kw ) @@ -959,12 +962,13 @@ class CategoryTool( UniqueObject, Folder, Base ): """ if getattr(aq_base(context), 'isCategory', 0): return context.isMemberOf(category, strict=strict) + base_category = category.split('/')[0] # Extract base_category for optimisation if strict: - for c in self._getAcquiredCategoryList(context): + for c in self.getAcquiredCategoryMembershipList(context, base_category = base_category): if c == category: return 1 else: - for c in self._getAcquiredCategoryList(context): + for c in self.getAcquiredCategoryMembershipList(context, base_category = base_category): if c.find(category) >= 0: return 1 return 0 -- 2.30.9