From 60c9d673a69b6798ba5b79ce128a44da37f6be05 Mon Sep 17 00:00:00 2001 From: Yusei Tahara <yusei@nexedi.com> Date: Wed, 19 Oct 2016 12:56:27 +0900 Subject: [PATCH] erp5_project: Show all related tasks in task view. --- .../ProjectLine_viewTaskList/listbox.xml | 35 +---------- .../Project_getTaskListRecursively.py | 12 ++++ .../Project_getTaskListRecursively.xml | 62 +++++++++++++++++++ .../Project_viewTaskList/listbox.xml | 35 +---------- 4 files changed, 78 insertions(+), 66 deletions(-) create mode 100644 bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.py create mode 100644 bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.xml diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectLine_viewTaskList/listbox.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectLine_viewTaskList/listbox.xml index 247a55ec9b..4c9cf94140 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectLine_viewTaskList/listbox.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectLine_viewTaskList/listbox.xml @@ -12,7 +12,6 @@ <list> <string>all_columns</string> <string>columns</string> - <string>default_params</string> <string>editable_columns</string> <string>list_method</string> <string>portal_types</string> @@ -66,12 +65,6 @@ <key> <string>columns</string> </key> <value> <string></string> </value> </item> - <item> - <key> <string>default_params</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> <item> <key> <string>editable_columns</string> </key> <value> <string></string> </value> @@ -184,17 +177,6 @@ </list> </value> </item> - <item> - <key> <string>default_params</string> </key> - <value> - <list> - <tuple> - <string>checked_permission</string> - <string>View</string> - </tuple> - </list> - </value> - </item> <item> <key> <string>editable_columns</string> </key> <value> @@ -221,7 +203,7 @@ <item> <key> <string>list_method</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> </value> </item> <item> @@ -250,19 +232,6 @@ </pickle> </record> <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [(\'source_project_uid\', here.getUid())]</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> <pickle> <global name="Method" module="Products.Formulator.MethodField"/> </pickle> @@ -270,7 +239,7 @@ <dictionary> <item> <key> <string>method_name</string> </key> - <value> <string>portal_catalog</string> </value> + <value> <string>Project_getTaskListRecursively</string> </value> </item> </dictionary> </pickle> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.py b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.py new file mode 100644 index 0000000000..728e9120f1 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.py @@ -0,0 +1,12 @@ +uid_list = [context.getUid()] +def iterate(container): + for project_line in container.objectValues(portal_type='Project Line'): + uid_list.append(project_line.getUid()) + iterate(project_line) + +iterate(context) + +if 'source_project_uid' in kw: + del kw['source_project_uid'] + +return context.portal_catalog(source_project_uid=uid_list, **kw) diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.xml new file mode 100644 index 0000000000..25c1bf4492 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getTaskListRecursively.xml @@ -0,0 +1,62 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>**kw</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Project_getTaskListRecursively</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewTaskList/listbox.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewTaskList/listbox.xml index 4cce9b72d8..b7f9446718 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewTaskList/listbox.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewTaskList/listbox.xml @@ -12,7 +12,6 @@ <list> <string>all_columns</string> <string>columns</string> - <string>default_params</string> <string>editable_columns</string> <string>list_method</string> <string>portal_types</string> @@ -66,12 +65,6 @@ <key> <string>columns</string> </key> <value> <string></string> </value> </item> - <item> - <key> <string>default_params</string> </key> - <value> - <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> - </value> - </item> <item> <key> <string>editable_columns</string> </key> <value> <string></string> </value> @@ -192,17 +185,6 @@ </list> </value> </item> - <item> - <key> <string>default_params</string> </key> - <value> - <list> - <tuple> - <string>checked_permission</string> - <string>View</string> - </tuple> - </list> - </value> - </item> <item> <key> <string>editable_columns</string> </key> <value> @@ -229,7 +211,7 @@ <item> <key> <string>list_method</string> </key> <value> - <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> </value> </item> <item> @@ -258,19 +240,6 @@ </pickle> </record> <record id="2" aka="AAAAAAAAAAI="> - <pickle> - <global name="TALESMethod" module="Products.Formulator.TALESField"/> - </pickle> - <pickle> - <dictionary> - <item> - <key> <string>_text</string> </key> - <value> <string>python: [(\'source_project_uid\', here.getUid())]</string> </value> - </item> - </dictionary> - </pickle> - </record> - <record id="3" aka="AAAAAAAAAAM="> <pickle> <global name="Method" module="Products.Formulator.MethodField"/> </pickle> @@ -278,7 +247,7 @@ <dictionary> <item> <key> <string>method_name</string> </key> - <value> <string>portal_catalog</string> </value> + <value> <string>Project_getTaskListRecursively</string> </value> </item> </dictionary> </pickle> -- 2.30.9