[Erp5-report] r13733 - in /erp5/trunk/products/ERP5: bootstrap/erp5_core/SkinTemplateItem/p...

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 28 09:50:10 CEST 2007


Author: jerome
Date: Wed Mar 28 09:50:06 2007
New Revision: 13733

URL: http://svn.erp5.org?rev=13733&view=rev
Log:
don't use 'if obj', it's a coding crime.
Add test for Predicate_getMembershipCriterionCategoryList

Modified:
    erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_getMembershipCriterionCategoryList.xml
    erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision
    erp5/trunk/products/ERP5/tests/testPredicate.py

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_getMembershipCriterionCategoryList.xml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_getMembershipCriterionCategoryList.xml?rev=13733&r1=13732&r2=13733&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_getMembershipCriterionCategoryList.xml (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Predicate_getMembershipCriterionCategoryList.xml Wed Mar 28 09:50:06 2007
@@ -85,7 +85,7 @@
   if item_list == [[\'\', \'\']]:\n
     for fallback_category in base_category.getFallbackBaseCategoryList():\n
       fallback_category = ctool.restrictedTraverse(fallback_category, None)\n
-      if fallback_category:\n
+      if fallback_category is not None and fallback_category.objectIds():\n
         item_list = [(\'%s/%s\' % (item, x[0]), \'%s/%s\' % (item, x[1])) for x in\n
                      fallback_category.getCategoryChildCompactLogicalPathItemList(base=1)]\n
         break\n

Modified: erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision?rev=13733&r1=13732&r2=13733&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision (original)
+++ erp5/trunk/products/ERP5/bootstrap/erp5_core/bt/revision Wed Mar 28 09:50:06 2007
@@ -1,1 +1,1 @@
-282
+284

Modified: erp5/trunk/products/ERP5/tests/testPredicate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testPredicate.py?rev=13733&r1=13732&r2=13733&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testPredicate.py (original)
+++ erp5/trunk/products/ERP5/tests/testPredicate.py Wed Mar 28 09:50:06 2007
@@ -378,6 +378,31 @@
     self.assertEquals([True, False, True, False], calls)
   
 
+  def test_Predicate_getMembershipCriterionCategoryList(self):
+    # Predicate_getMembershipCriterionCategoryList is a script used to show the
+    # item list in Predicate_view/my_membership_criterion_category_list.
+    # When called on a predicate using a simple category (like region) as
+    # membership criterion base category, it will show for values the content
+    # of this category.
+    pred = self.createPredicate(
+        membership_criterion_base_category_list=['region'], )
+    self.failUnless(('europe/western_europe', 'region/europe/western_europe') in
+        [tuple(x) for x in pred.Predicate_getMembershipCriterionCategoryList()],
+        pred.Predicate_getMembershipCriterionCategoryList(),)
+    
+    # If this category is empty, it will show values from fallback category,
+    # with the path they have when they are acquired
+    pred = self.createPredicate(
+        membership_criterion_base_category_list=['source_region'], )
+    # note that the id of the actual base category is displayed in the first
+    # item too, for making it clear in the UI that it's the content of a
+    # category used for another base category.
+    self.failUnless(('source_region/europe/western_europe',
+                     'source_region/region/europe/western_europe') in
+        [tuple(x) for x in pred.Predicate_getMembershipCriterionCategoryList()],
+        pred.Predicate_getMembershipCriterionCategoryList(),)
+
+
   def test_PredicateFusion(self, quiet=QUIET, run=RUN_ALL_TESTS):
     """Test simple predicates fusion.
     New predicate act as a logical AND between predicates




More information about the Erp5-report mailing list