[Erp5-report] r45789 kazuhiko - in /erp5/trunk/products/CMFCategory: ./ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue May 3 14:49:48 CEST 2011


Author: kazuhiko
Date: Tue May  3 14:49:47 2011
New Revision: 45789

URL: http://svn.erp5.org?rev=45789&view=rev
Log:
Even if region is a sub Category of Base Category region, relative Url must be stripped, because the behaviour should be stable regardless of such category existence and it is also good for performance.

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

Modified: erp5/trunk/products/CMFCategory/CategoryTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/CategoryTool.py?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/CategoryTool.py [utf8] (original)
+++ erp5/trunk/products/CMFCategory/CategoryTool.py [utf8] Tue May  3 14:49:47 2011
@@ -1748,17 +1748,11 @@ class CategoryTool( UniqueObject, Folder
                                                      path):
       """Specific Handling to remove duplicated base_categories in path
       values like in following example: 'region/region/europe/west'.
-
-      If duplicated id is a real subobject of base_category,
-      then the path its keept as it is
       """
       splitted_path = path.split('/', 2)
       if len(splitted_path) >= 2 and base_category_id == splitted_path[1]:
-        # It needs to be checked.
-        base_category_value = self._getOb(base_category_id)
-        if base_category_value._getOb(splitted_path[1], None) is None:
-          # Duplicate found, strip len(base_category_id + '/') in path
-          path = path[len(base_category_id)+1:]
+        # Duplicate found, strip len(base_category_id + '/') in path
+        path = path[len(base_category_id)+1:]
       return path
 
 

Modified: erp5/trunk/products/CMFCategory/tests/testCMFCategory.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/tests/testCMFCategory.py?rev=45789&r1=45788&r2=45789&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/tests/testCMFCategory.py [utf8] (original)
+++ erp5/trunk/products/CMFCategory/tests/testCMFCategory.py [utf8] Tue May  3 14:49:47 2011
@@ -1024,8 +1024,8 @@ class TestCMFCategory(ERP5TypeTestCase):
     are cleaned up by Getters to avoid accessing base_category through
     implicit Acquisition.
 
-    If region is a sub Category of Base Category region,
-    Relative Url must not be stripped
+    Even if region is a sub Category of Base Category region,
+    Relative Url must be stripped.
     """
     portal_categories = self.getCategoriesTool()
     organisation = self.getOrganisationModule().newContent(
@@ -1049,13 +1049,13 @@ class TestCMFCategory(ERP5TypeTestCase):
     new_region = new_region.newContent(portal_type='Category', id='europe')
     new_region = new_region.newContent(portal_type='Category', id='west')
 
-    self.assertEquals(organisation.getRegion(), 'region/europe/west')
-    self.assertEquals(organisation.getRegionList(), ['region/europe/west'])
+    self.assertEquals(organisation.getRegion(), 'europe/west')
+    self.assertEquals(organisation.getRegionList(), ['europe/west'])
     self.assertEquals(organisation.getRegionValue().getPortalType(), 'Category')
-    self.assertNotEquals(organisation.getRegionValue(), old_west_region)
+    self.assertEquals(organisation.getRegionValue(), old_west_region)
 
-    self.assertEquals(person.getRegion(), 'region/europe/west')
-    self.assertEquals(person.getRegionList(), ['region/europe/west'])
+    self.assertEquals(person.getRegion(), 'europe/west')
+    self.assertEquals(person.getRegionList(), ['europe/west'])
 
     # Let's continue with resource because its ID conflict with 
     # "traversing namespaces" names



More information about the Erp5-report mailing list