[Erp5-report] r18447 - /erp5/trunk/products/CMFCategory/Category.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Dec 20 11:44:53 CET 2007


Author: nicolas
Date: Thu Dec 20 11:44:49 2007
New Revision: 18447

URL: http://svn.erp5.org?rev=18447&view=rev
Log:
Add new displaying Method indented_title_and_id

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

Modified: erp5/trunk/products/CMFCategory/Category.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/Category.py?rev=18447&r1=18446&r2=18447&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/Category.py (original)
+++ erp5/trunk/products/CMFCategory/Category.py Thu Dec 20 11:44:49 2007
@@ -212,6 +212,30 @@
       return ''.join(logical_title_list)
 
     security.declareProtected(Permissions.AccessContentsInformation,
+                                                    'getIndentedTitleAndId')
+    def getIndentedTitleAndId(self, item_method='getTitleAndId'):
+      """
+        Returns title or id, indented from base_category.
+      """
+      path_len = 0
+      base = self.getBaseCategory()
+      current = self
+      while not current is base :
+        path_len += 1
+        current = aq_parent(current)
+
+      # it s better for the user to display something than only ''...
+      logical_title_list = []
+
+      if path_len >= 2:
+        logical_title_list.append(' ' * 4 * (path_len - 1))
+      logical_title = getattr(self, item_method)()
+      if logical_title in [None, '']:
+        logical_title = self.getId()
+      logical_title_list.append(logical_title)
+      return ''.join(logical_title_list)
+
+    security.declareProtected(Permissions.AccessContentsInformation,
                                                     'getTranslatedIndentedTitle')
     def getTranslatedIndentedTitle(self):
       """
@@ -429,6 +453,17 @@
       """
       return self.getCategoryChildItemList(recursive=recursive,
           display_id='indented_title', base=base, **kw)
+
+    security.declareProtected(Permissions.AccessContentsInformation,
+                                     'getCategoryChildIndentedTitleAndIdItemList')
+    def getCategoryChildIndentedTitleAndIdItemList(self,
+                                              recursive=1, base=0, **kw):
+      """
+      Returns a list of tuples by parsing recursively all categories in a
+      given list of base categories. Uses getIndentedTitle as default method
+      """
+      return self.getCategoryChildItemList(recursive=recursive,
+          display_id='indented_title_and_id', base=base, **kw)
 
     security.declareProtected(Permissions.AccessContentsInformation,
                                      'getCategoryChildTranslatedIndentedTitleItemList')
@@ -832,4 +867,3 @@
 
 InitializeClass( Category )
 InitializeClass( BaseCategory )
-




More information about the Erp5-report mailing list