[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