[Erp5-report] r15093 - /erp5/trunk/products/ERP5Form/PlanningBox.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jul 2 09:56:51 CEST 2007


Author: rafael
Date: Mon Jul  2 09:56:50 2007
New Revision: 15093

URL: http://svn.erp5.org?rev=15093&view=rev
Log:
Improved blocs url, start to check if the activity_content has some special method for URL.
This approach is also used by ListBox, but in Planning Box the parameters are not important 
for now. In future, it can be defined special sublinks or configuration scripts using this 
implementation.



Modified:
    erp5/trunk/products/ERP5Form/PlanningBox.py

Modified: erp5/trunk/products/ERP5Form/PlanningBox.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/PlanningBox.py?rev=15093&r1=15092&r2=15093&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PlanningBox.py (original)
+++ erp5/trunk/products/ERP5Form/PlanningBox.py Mon Jul  2 09:56:50 2007
@@ -378,7 +378,7 @@
       REQUEST.set('error_info_dict',error_info_dict)
       # now raise error => automatically called
       # parameters are :
-      # -list of errors
+      # - list of errors
       # - dict with error results
       raise FormValidationError(errors_list, {})
 
@@ -1112,7 +1112,6 @@
                                         self.selection_name,
                                         self.selection,
                                         REQUEST=self.REQUEST)
-
     # building list of portal_types
     self.filtered_portal_types = [x[0] for x in self.portal_types]
     if len(self.filtered_portal_types) == 0:
@@ -1304,7 +1303,7 @@
           #  self.selection_name, context=self.here, REQUEST=self.REQUEST)
           message = 'No list method found, please check planningBox properties'
           return [(Message(domain='erp5_ui', message=message,mapping=None))]
-
+        
         # recovering exeption_uid_list
         exception_uid_list = object_tree_line.getExceptionUidList()
         # XXX filter the object to the right domain.
@@ -1315,12 +1314,11 @@
           category_obj = domain_obj.getMembershipCriterionCategory()
           membership_base_category = domain_obj.getMembershipCriterionBaseCategory()
           if (category_obj is not None) and (membership_base_category is not None):
-            category_value = (membership_base_category + '/' +category_obj.getRelativeUrl())
+            category_value = (membership_base_category + '/' + category_obj.getRelativeUrl())
             for selected_object in object_list:
               if category_value in selected_object.getCategoriesList():
                  new_object_list.append(selected_object)
             object_list = new_object_list
-
 
         if exception_uid_list not in ([],None) :
           # Filter folders if parent tree :
@@ -1929,7 +1927,17 @@
             stat_context.absolute_url = \
                          lambda x: activity_content.getObject().absolute_url()
             object = stat_context.getObject()
-            url = object.getUrl()
+            
+            # check if the activity_content has some special method for URL
+            # This approach is also used by ListBox, but in Planning Box
+            # the parameters are not important for now. In future, can be define
+            # special sublinks using this implementation.
+            if getattr(activity_content, 'getListItemUrl', None):
+              url = activity_content.getListItemUrl(cname_id='', 
+                  selection_index='',
+                  selection_name=self.field.get_value('selection_name'))
+            else:
+              url = object.getUrl()
 
             # XXX should define height of block here
             height = None




More information about the Erp5-report mailing list