[Erp5-report] r18580 - /erp5/trunk/products/CMFCategory/CategoryTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jan 2 15:40:25 CET 2008


Author: jp
Date: Wed Jan  2 15:40:24 2008
New Revision: 18580

URL: http://svn.erp5.org?rev=18580&view=rev
Log:
Renaming an object ID now renames related predicates.

Modified:
    erp5/trunk/products/CMFCategory/CategoryTool.py

Modified: erp5/trunk/products/CMFCategory/CategoryTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/CategoryTool.py?rev=18580&r1=18579&r2=18580&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/CategoryTool.py (original)
+++ erp5/trunk/products/CMFCategory/CategoryTool.py Wed Jan  2 15:40:24 2008
@@ -1293,11 +1293,40 @@
           if getattr(aq_base(o),
                     'notifyAfterUpdateRelatedContent', None) is not None:
             o.notifyAfterUpdateRelatedContent(previous_category_url,
-                                              new_category_url)
+                                              new_category_url) # XXX - wrong programming Approach
+                                                                # for ERP5 - either use interaction
+                                                                # workflows or interactors rather
+                                                                # than creating notifyWhateverMethod
 
         else:
           LOG('CMFCategory', PROBLEM,
               'updateRelatedContent: %s does not exist' % brain.path)
+
+      for brain in self.Base_zSearchRelatedObjectsByPredicate(
+                                              category_uid = context.getUid()):
+        o = brain.getObject()
+        if o is not None:
+          category_list = []
+          for category in self.getMembershipCriterionCategoryList(o):
+            new_category = self.updateRelatedCategory(category,
+                                                      previous_category_url,
+                                                      new_category_url)
+            category_list.append(new_category)
+          self._setMembershipCriterionCategoryList(o, category_list)
+
+          if getattr(aq_base(o),
+                    'notifyAfterUpdateRelatedContent', None) is not None:
+            o.notifyAfterUpdateRelatedContent(previous_category_url,
+                                              new_category_url) # XXX - wrong programming Approach
+                                                                # for ERP5 - either use interaction
+                                                                # workflows or interactors rather
+                                                                # than creating notifyWhateverMethod
+
+        else:
+          LOG('CMFCategory', PROBLEM,
+              'updateRelatedContent: %s does not exist' % brain.path)
+
+
 
       aq_context = aq_base(context)
       # Update related recursively if required




More information about the Erp5-report mailing list