[Erp5-report] r31076 romain - in /erp5/trunk/bt5/erp5_project: SkinTemplateItem/portal_skin...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 4 13:36:48 CET 2009


Author: romain
Date: Fri Dec  4 13:36:47 2009
New Revision: 31076

URL: http://svn.erp5.org?rev=31076&view=rev
Log:
Improve performance of project planning box generation.
Configure new domains to display the full list of task/task reports.

Modified:
    erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generatePersonDomain.xml
    erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateProjectLineDomain.xml
    erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getPlanningBoxReportList.xml
    erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewPlanning/planning_box.xml
    erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskModule_generateDomain.xml
    erp5/trunk/bt5/erp5_project/bt/revision

Modified: erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generatePersonDomain.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generatePersonDomain.xml?rev=31076&r1=31075&r2=31076&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generatePersonDomain.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generatePersonDomain.xml [utf8] Fri Dec  4 13:36:47 2009
@@ -59,25 +59,22 @@
 if object_path is None:\n
   object_path = context.REQUEST.get(\'URL1\').split(\'/\')[-1]\n
 \n
-search_path = \'\'.join(["%project_module/", object_path,"%"])\n
+real_context = context.restrictedTraverse(object_path)\n
 \n
 if depth == 0:\n
-  category_list = []\n
-  for line in context.portal_catalog(path=search_path ):\n
-     category_list.extend([ i for i in line.getObject().getSourceValueList() if i not in category_list])\n
-\n
-\n
+  category_list = context.portal_catalog(\n
+    source_related_relative_url=(real_context.getRelativeUrl(), \'%s/%%\' % real_context.getRelativeUrl()),\n
+  )\n
 else:\n
   return domain_list\n
 \n
 for category in category_list:\n
-  domain = parent.generateTempDomain(id = \'sub\' + category.getId() )\n
-  domain.edit(title = category.getTitle(),\n
-              membership_criterion_base_category = (\'source\', ), \n
-              membership_criterion_category = (category.getRelativeUrl(),),\n
-              domain_generator_method_id = script.id,\n
+  domain = parent.generateTempDomain(id=\'sub%s\' % category.getId())\n
+  domain.edit(title=category.getTitle(),\n
+              membership_criterion_base_category=(\'source\',), \n
+              membership_criterion_category=(category.getRelativeUrl(),),\n
+              domain_generator_method_id=script.id,\n
               uid = category.getUid())\n
-                \n
   domain_list.append(domain)\n
 \n
 return domain_list\n
@@ -127,13 +124,9 @@
                             <string>object_path</string>
                             <string>None</string>
                             <string>_getitem_</string>
-                            <string>search_path</string>
+                            <string>real_context</string>
                             <string>category_list</string>
                             <string>_getiter_</string>
-                            <string>line</string>
-                            <string>append</string>
-                            <string>$append0</string>
-                            <string>i</string>
                             <string>category</string>
                             <string>domain</string>
                             <string>script</string>

Modified: erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateProjectLineDomain.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateProjectLineDomain.xml?rev=31076&r1=31075&r2=31076&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateProjectLineDomain.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateProjectLineDomain.xml [utf8] Fri Dec  4 13:36:47 2009
@@ -67,7 +67,6 @@
 \n
 if depth == 0:\n
   category_list = [context.project_module.restrictedTraverse(object_path)]\n
-  \n
 else:\n
   category_list = []\n
   parent_category_list = parent.getMembershipCriterionCategoryList()\n
@@ -80,7 +79,7 @@
   domain = parent.generateTempDomain(id = \'%s_%s\' % (depth, i))\n
   domain.edit(title = category.getTitle(),\n
               membership_criterion_base_category = (\'source_project\', ), \n
-              membership_criterion_category = (category.getRelativeUrl(),),\n
+              membership_criterion_category = (category.getRelativeUrl(), ),\n
               domain_generator_method_id = script.id,\n
               uid = category.getUid())\n
   i += 1\n

Modified: erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getPlanningBoxReportList.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getPlanningBoxReportList.xml?rev=31076&r1=31075&r2=31076&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getPlanningBoxReportList.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getPlanningBoxReportList.xml [utf8] Fri Dec  4 13:36:47 2009
@@ -58,33 +58,28 @@
 selection_tool = context.portal_selections\n
 selection = selection_tool.getSelectionFor(\'project_planning_selection\')\n
 \n
-def getSourceProjectRelatedValueList():\n
-    object_path = context.getRelativeUrl()\n
-    search_path = \'\'.join(["%", object_path,"%"])\n
-    return_list = []\n
-    for line in context.portal_catalog(path=search_path ):\n
-      return_list.extend([ i for i in line.getObject().getSourceProjectRelatedValueList(**kw) if i not in return_list])\n
-    return return_list\n
-\n
 if selection is not None:\n
-  if selection.report_path in [\'project_person_domain\' ]:\n
-    return context.getSourceProjectRelatedValueList(**kw)\n
-\n
-  if selection.report_path in [\'project_person_task_report_domain\']:\n
+  if selection.report_path in (\'task_module_domain\', \'project_person_domain\'):\n
+    kw[\'source_project_relative_url\'] = (context.getRelativeUrl(), \'%s/%%\' % context.getRelativeUrl())\n
+  elif selection.report_path == \'project_person_task_report_domain\':\n
     # It was required filter to one specific portal type\n
     kw[\'portal_type\'] = [\'Task Report\']\n
-    return context.getSourceProjectRelatedValueList(**kw)\n
-\n
-  if selection.report_path in [\'project_projectline_domain\']:\n
-    return getSourceProjectRelatedValueList()\n
-\n
-  if selection.report_path in [\'project_project_task_report_domain\']:\n
+    kw[\'source_project_relative_url\'] = (context.getRelativeUrl(), \'%s/%%\' % context.getRelativeUrl())\n
+  elif selection.report_path == \'project_projectline_domain\':\n
+    kw[\'source_project_relative_url\'] = (context.getRelativeUrl(), \'%s/%%\' % context.getRelativeUrl())\n
+  elif selection.report_path in (\'task_report_module_domain\', \'project_project_task_report_domain\'):\n
     # It was required filter to one specific portal type\n
     kw[\'portal_type\'] = [\'Task Report\']\n
-    return getSourceProjectRelatedValueList()\n
+    kw[\'source_project_relative_url\'] = (context.getRelativeUrl(), \'%s/%%\' % context.getRelativeUrl())\n
+  elif selection.report_path == \'parent\':\n
+    return context.searchFolder(**kw)\n
+  else:\n
+    raise NotImplementedError, "Unknow domain %s" % selection.report_path\n
 \n
+  return context.portal_catalog(**kw)\n
 \n
-return context.searchFolder(**kw)\n
+else:\n
+  return context.searchFolder(**kw)\n
 </string> </value>
         </item>
         <item>
@@ -126,10 +121,10 @@
                             <string>context</string>
                             <string>selection_tool</string>
                             <string>selection</string>
-                            <string>getSourceProjectRelatedValueList</string>
                             <string>None</string>
+                            <string>_write_</string>
                             <string>_apply_</string>
-                            <string>_write_</string>
+                            <string>NotImplementedError</string>
                           </tuple>
                         </value>
                     </item>

Modified: erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewPlanning/planning_box.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewPlanning/planning_box.xml?rev=31076&r1=31075&r2=31076&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewPlanning/planning_box.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewPlanning/planning_box.xml [utf8] Fri Dec  4 13:36:47 2009
@@ -13,10 +13,10 @@
             <key> <string>delegated_list</string> </key>
             <value>
               <list>
+                <string>list_method</string>
+                <string>portal_types</string>
+                <string>report_root_list</string>
                 <string>title</string>
-                <string>report_root_list</string>
-                <string>portal_types</string>
-                <string>list_method</string>
               </list>
             </value>
         </item>
@@ -119,6 +119,14 @@
                     <value>
                       <list>
                         <tuple>
+                          <string>task_module_domain</string>
+                          <string>Task</string>
+                        </tuple>
+                        <tuple>
+                          <string>task_report_module_domain</string>
+                          <string>Task Report</string>
+                        </tuple>
+                        <tuple>
                           <string>parent</string>
                           <string>Project Line</string>
                         </tuple>

Modified: erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskModule_generateDomain.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskModule_generateDomain.xml?rev=31076&r1=31075&r2=31076&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskModule_generateDomain.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/TaskModule_generateDomain.xml [utf8] Fri Dec  4 13:36:47 2009
@@ -57,29 +57,17 @@
 domain_list = []\n
 \n
 if depth == 0:\n
-  category_list = [ context.task_module.getObject() ]  \n
+  module = context.task_module\n
 \n
-# XXX this is usefull but Breaks the edition\n
-#elif depth == 1:\n
-#    category_list = context.portal_selections.getSelectionValueList(context=context,\n
-#                                                                        selection_name= \'task_report_selection\')\n
-\n
-\n
+  domain = parent.generateTempDomain(id=\'sub%s\' % module.getId())\n
+  domain.edit(title=module.getTitle(),\n
+              membership_criterion_base_category=(\'parent\', ), \n
+              membership_criterion_category=(module.getRelativeUrl(),),\n
+              domain_generator_method_id=script.id,\n
+              uid=module.getUid())\n
+  return [domain]\n
 else:\n
-  return domain_list\n
-\n
-for category in category_list:\n
-  domain = parent.generateTempDomain(id = \'sub\' + category.getId() )\n
-  domain.edit(title = category.getTitle(),\n
-              membership_criterion_base_category = (\'parent\', ), \n
-              membership_criterion_category = (category.getRelativeUrl(),),\n
-              domain_generator_method_id = script.id,\n
-              uid = category.getUid())\n
-                \n
-  domain_list.append(domain)\n
-#from Products.ERP5Type.Log import log\n
-#log("%s on %s" % (script.getId(), context.getPath()), "%d objects domain" %  len(domain_list))\n
-return domain_list\n
+  return []\n
 </string> </value>
         </item>
         <item>
@@ -123,9 +111,7 @@
                             <string>context</string>
                             <string>request</string>
                             <string>domain_list</string>
-                            <string>category_list</string>
-                            <string>_getiter_</string>
-                            <string>category</string>
+                            <string>module</string>
                             <string>domain</string>
                             <string>script</string>
                           </tuple>

Modified: erp5/trunk/bt5/erp5_project/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_project/bt/revision?rev=31076&r1=31075&r2=31076&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_project/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_project/bt/revision [utf8] Fri Dec  4 13:36:47 2009
@@ -1,1 +1,1 @@
-712
+717




More information about the Erp5-report mailing list