diff --git a/bt5/erp5_project/ActionTemplateItem/portal_types/Project%20Module/worker_monthly_report.xml b/bt5/erp5_project/ActionTemplateItem/portal_types/Project%20Module/worker_monthly_report.xml new file mode 100644 index 0000000000000000000000000000000000000000..469c92a92e38ce6bc65cbbf4d95039d38aec4c55 --- /dev/null +++ b/bt5/erp5_project/ActionTemplateItem/portal_types/Project%20Module/worker_monthly_report.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_report</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_report</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>worker_monthly_report</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Action Information</string> </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>1.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Worker Monthly Report</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Expression" module="Products.CMFCore.Expression"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/ProjectModule_viewODSMonthlyReportPrintDialog</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog.xml new file mode 100644 index 0000000000000000000000000000000000000000..fa64e36055062dbdc563885f1bdaf43868e46471 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog.xml @@ -0,0 +1,136 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ERP5Form" module="Products.ERP5Form.Form"/> + </pickle> + <pickle> + <dictionary> + <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/> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>action</string> </key> + <value> <string>Project_viewMonthlyReport</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>edit_order</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>encoding</string> </key> + <value> <string>UTF-8</string> </value> + </item> + <item> + <key> <string>enctype</string> </key> + <value> <string>multipart/form-data</string> </value> + </item> + <item> + <key> <string>group_list</string> </key> + <value> + <list> + <string>left</string> + <string>right</string> + </list> + </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <dictionary> + <item> + <key> <string>left</string> </key> + <value> + <list> + <string>your_report_depth</string> + <string>your_worker_title_list</string> + </list> + </value> + </item> + <item> + <key> <string>right</string> </key> + <value> + <list> + <string>your_simulation_state</string> + <string>your_from_date</string> + <string>your_at_date</string> + </list> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>ProjectModule_viewODSMonthlyReportPrintDialog</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>Project_viewODSMonthlyPrintDialog</string> </value> + </item> + <item> + <key> <string>pt</string> </key> + <value> <string>form_dialog</string> </value> + </item> + <item> + <key> <string>row_length</string> </key> + <value> <int>4</int> </value> + </item> + <item> + <key> <string>stored_encoding</string> </key> + <value> <string>UTF-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Monthly Report</string> </value> + </item> + <item> + <key> <string>unicode_mode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>update_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>update_action_title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_at_date.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_at_date.xml new file mode 100644 index 0000000000000000000000000000000000000000..61b4ae9195d27b9b75f7f1e70784bbdef2ea6d81 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_at_date.xml @@ -0,0 +1,96 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>required</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>your_at_date</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string>your_at_date</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Project_viewDialogFieldLibrary</string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_from_date.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_from_date.xml new file mode 100644 index 0000000000000000000000000000000000000000..004b7e776bbf28851ed2a12e14bb37be59106fa3 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_from_date.xml @@ -0,0 +1,96 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>required</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>your_from_date</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string>your_from_date</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Project_viewDialogFieldLibrary</string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_report_depth.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_report_depth.xml new file mode 100644 index 0000000000000000000000000000000000000000..76019272a768add0da080c06e1b47f312ba68bab --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_report_depth.xml @@ -0,0 +1,252 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="IntegerField" module="Products.Formulator.StandardFields"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>your_report_depth</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + <item> + <key> <string>integer_out_of_range</string> </key> + <value> <string>The integer you entered was out of range.</string> </value> + </item> + <item> + <key> <string>not_integer</string> </key> + <value> <string>You did not enter an integer.</string> </value> + </item> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>end</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>start</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>end</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>start</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string>5</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_maxwidth</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_width</string> </key> + <value> <int>20</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>end</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>start</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Report Depth</string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_simulation_state.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_simulation_state.xml new file mode 100644 index 0000000000000000000000000000000000000000..35246b8c2fa74d03efb0d5a6a319af20bc855cd4 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_simulation_state.xml @@ -0,0 +1,90 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>your_simulation_state</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string>your_simulation_state</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>Project_viewDialogFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_worker_title_list.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_worker_title_list.xml new file mode 100644 index 0000000000000000000000000000000000000000..abd34548f8830a8ee75fde19486b827e8c17d1c5 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/ProjectModule_viewODSMonthlyReportPrintDialog/your_worker_title_list.xml @@ -0,0 +1,298 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="LinesField" module="Products.Formulator.StandardFields"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>your_worker_title_list</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + <item> + <key> <string>line_too_long</string> </key> + <value> <string>A line was too long.</string> </value> + </item> + <item> + <key> <string>required_not_found</string> </key> + <value> <string>Input is required but no input given.</string> </value> + </item> + <item> + <key> <string>too_long</string> </key> + <value> <string>You entered too many characters.</string> </value> + </item> + <item> + <key> <string>too_many_lines</string> </key> + <value> <string>You entered too many lines.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>view_separator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>view_separator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>width</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>extra</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>height</string> </key> + <value> <int>5</int> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>max_length</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_linelength</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>max_lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>required</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Workers</string> </value> + </item> + <item> + <key> <string>unicode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>view_separator</string> </key> + <value> <string encoding="cdata"><![CDATA[ + +<br /> + +]]></string> </value> + </item> + <item> + <key> <string>whitespace_preserve</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>width</string> </key> + <value> <int>40</int> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml index ec7482bbabf8e2ec5e68c87e17623f3de0df0fcd..26eaf74447e91a0e468d9d0b5e3bfd6d79e95d16 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_generateMonthDomain.xml @@ -76,32 +76,38 @@ if depth == 0:\n current_month = None\n # We must initialize from_date at the beginning of the month\n current_date = from_date\n - month_dict = request.form.get(\'month_dict\', None)\n - if month_dict is None:\n - month_dict = {}\n - current_date_year = current_date.year()\n - current_date_month = current_date.month()\n - at_date_year = at_date.year()\n - at_date_month = at_date.month()\n - while True:\n - month_dict[(current_date_year, current_date_month)] = 1\n - if current_date_year == at_date_year and current_date_month == at_date_month:\n - break\n - current_date_month += 1\n - if current_date_month == 13:\n - current_date_month = 0\n - current_date_year += 1\n - request.form[\'month_dict\'] = month_dict\n -\n - category_list = []\n - i = 1\n - month_dict_list = month_dict.keys()\n - month_dict_list.sort()\n - for year, month in month_dict_list:\n - category_list.append(here.getObject().asContext(title="%s - %s" % (year, month),\n - string_index="%s-%s" % (year, month),\n + is_total = here.is_total\n + if is_total:\n + category_list.append(here.getObject().asContext(title=here.full_date_string,\n + string_index=here.full_date_string,\n ))\n - i += 1\n + else:\n + month_dict = request.form.get(\'month_dict\', None)\n + if month_dict is None:\n + month_dict = {}\n + current_date_year = current_date.year()\n + current_date_month = current_date.month()\n + at_date_year = at_date.year()\n + at_date_month = at_date.month()\n + while True:\n + month_dict[(current_date_year, current_date_month)] = 1\n + if current_date_year == at_date_year and current_date_month == at_date_month:\n + break\n + current_date_month += 1\n + if current_date_month == 13:\n + current_date_month = 0\n + current_date_year += 1\n + request.form[\'month_dict\'] = month_dict\n +\n + category_list = []\n + #i = 1\n + month_dict_list = month_dict.keys()\n + month_dict_list.sort()\n + for year, month in month_dict_list:\n + category_list.append(here.getObject().asContext(title="%s - %s" % (year, month),\n + string_index="%s-%s" % (year, month),\n + ))\n + #i += 1\n \n else:\n object_dict = here.object_dict\n @@ -110,8 +116,8 @@ else:\n object_url_dict = {}\n project_to_display_dict = here.monthly_project_to_display_dict.get(string_index, {})\n if depth == 1:\n - category_list = [x for x in here.project_list \n - if project_to_display_dict.has_key(x.getRelativeUrl())]\n + category_list = [here.project_dict[x] for x in project_to_display_dict.keys() if\n + here.project_dict.has_key(x)]\n else:\n parent_category_list = parent.getMembershipCriterionCategoryList()\n category_list = []\n diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyObjectList.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyObjectList.xml index 2717423d190226fe74d68094ba1fea12513d403d..af28de7a86441b2029b61ebf82c5462ab975ceae 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyObjectList.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyObjectList.xml @@ -61,16 +61,24 @@ current_criterion = object_domain.getCriterionList()\n date = current_criterion[0].identity\n result_list = []\n if len(object_domain.getMembershipCriterionBaseCategoryList())==0:\n - # First level, so level of month\n + # First level, so level of month, we display summary of total\n + # quantity per worker for the full month\n returned_object = summary_dict.get(date, None)\n if returned_object is not None:\n result_list.append(returned_object)\n else:\n returned_object = object_dict.get(date, None)\n if returned_object is not None:\n - for k,v in returned_object.items():\n - if object_domain.test(v, strict_membership=1):\n - result_list.append(v)\n + # optimisation, in this report we have exactly one temp object at most\n + # matching our domain, and we have already a dict with nice keys, so\n + # there is no need to parse all temp objects\n + membership_criterion_category_list = object_domain.getMembershipCriterionCategoryList()\n + assert len(membership_criterion_category_list) == 1\n + membership_criterion_category = membership_criterion_category_list[0]\n + assert membership_criterion_category.startswith(\'source_project/\')\n + project_relative_url = membership_criterion_category[len(\'source_project/\'):]\n + if returned_object.has_key(project_relative_url):\n + result_list.append(returned_object[project_relative_url])\n return result_list\n </string> </value> </item> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportContext.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportContext.xml index 132cb21aaa21d0418c44731b67b8090f7969a2e7..5ab5c88d86441f76d89d266f7777eb66cb7a2092 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportContext.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportContext.xml @@ -53,15 +53,17 @@ <value> <string>context = context.asContext(object_dict=object_dict,\n summary_dict=summary_dict,\n column_list=column_list,\n - project_list=project_list,\n - monthly_project_to_display_dict=monthly_project_to_display_dict)\n + project_dict=project_dict,\n + monthly_project_to_display_dict=monthly_project_to_display_dict,\n + is_total=is_total,\n + full_date_string=full_date_string)\n \n return context\n </string> </value> </item> <item> <key> <string>_params</string> </key> - <value> <string>object_dict, summary_dict, column_list, project_list, monthly_project_to_display_dict,**kw</string> </value> + <value> <string>object_dict, summary_dict, column_list, project_dict, monthly_project_to_display_dict,is_total, full_date_string,**kw</string> </value> </item> <item> <key> <string>id</string> </key> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportSectionList.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportSectionList.xml index 7d7ef075a70efb67fe5dca0867212146305cb712..c2221544815542d9c5fd84c43c80a71c93749033 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportSectionList.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_getMonthlyReportSectionList.xml @@ -55,8 +55,10 @@ from Products.ZSQLCatalog.SQLCatalog import Query\n request = context.REQUEST\n \n -object_dict = {} # it contains required temp object to display the report\n -total_object_dict = {}\n +object_dict = {} # it contains required temp object to display the listbox\n + # with the amount of time per worker/month/project line\n +total_object_dict = {} # this is for listbox with amount of time\n + # per worker/project line\n \n column_list= []\n worker_column_list = []\n @@ -82,6 +84,8 @@ if at_date is None:\n at_date = context.getStopDate()\n request.set(\'at_date\',at_date)\n simulation_state = request.get(\'simulation_state\', None)\n +full_date_string = "%s-%s -> %s-%s" % (from_date.year(), from_date.month(),\n + at_date.year(), at_date.month())\n \n \n \n @@ -93,13 +97,39 @@ result_list = portal.portal_simulation.getInventoryList(\n at_date=at_date, **inventory_kw)\n \n monthly_worker_quantity_dict = {} # Used to get quantity per month and per worker\n + # and per project line\n monthly_project_to_display_dict = {} # Used to get project urls to display per month\n # in the report tree\n +total_project_to_display_dict = {} # Used to get project urls to display in the summary\n +total_worker_quantity_dict = {} # Used to get quantity per project line and per worker for\n + # the full period\n +full_date_total_worker_quantity_dict = \\\n + total_worker_quantity_dict.setdefault(full_date_string, {})\n +full_date_total_object_dict = total_object_dict.setdefault(full_date_string, {})\n +full_date_total_project_to_display_dict = \\\n + total_project_to_display_dict.setdefault(full_date_string, {})\n +\n \n source_uid_dict = {}\n project_uid_dict = {}\n project_relative_url_dict = {}\n \n +def fillDictWithParentAndChildRelativeUrls(my_dict, document_url):\n + if my_dict.get(document_url) is None:\n + splitted_document_url = document_url.split(\'/\')\n + for x in xrange(0, len(splitted_document_url)):\n + my_dict[\'/\'.join(splitted_document_url[0:x+1])] = 1\n +\n +\n +def getNextMonthStart(date):\n + """\n + return the next month date of the param date\n + """\n + if date.month()==12:\n + return DateTime(date.year()+1, date.month(), 1)\n + else:\n + return DateTime(date.year(), date.month()+1, 1)\n +\n for task_line in result_list:\n # initialize some variables\n source_uid = task_line.node_uid\n @@ -135,17 +165,23 @@ for task_line in result_list:\n project_relative_url_dict[\'/\'.join(project_value.getRelativeUrl().split(\'/\')[0:2])] = 1\n quantity = - task_line.inventory\n project_relative_url = project_dict[\'relative_url\']\n + full_date_total_worker_quantity_dict[source_relative_url] = \\\n + full_date_total_worker_quantity_dict.get(source_relative_url, 0) + quantity\n + if not full_date_total_object_dict.has_key(project_relative_url):\n + temp_object = temp_object_container.newContent(portal_type = \'Project Line\',\n + temp_object=1,\n + string_index = full_date_string,\n + category_list = [\'source_project/%s\' % project_relative_url])\n + full_date_total_object_dict[project_relative_url] = temp_object\n + current_temp_object = full_date_total_object_dict[project_relative_url]\n + object_quantity = quantity + current_temp_object.getProperty(source_relative_url, 0)\n + current_temp_object.setProperty(source_relative_url, object_quantity)\n +\n # diff in day between the begin and the end of the task\n diff_day = stop_date_task - start_date_task + 1\n \n - def getNextMonthStart(date):\n - """\n - return the next month date of the param date\n - """\n - if date.month()==12:\n - return DateTime(date.year()+1, date.month(), 1)\n - else:\n - return DateTime(date.year(), date.month()+1, 1)\n + fillDictWithParentAndChildRelativeUrls(full_date_total_project_to_display_dict, \n + project_relative_url)\n \n timekeeper = start_date_task\n while timekeeper <= stop_date_task :\n @@ -155,10 +191,7 @@ for task_line in result_list:\n \n worker_quantity_dict = monthly_worker_quantity_dict.setdefault(string_index, {})\n project_to_display_dict = monthly_project_to_display_dict.setdefault(string_index, {})\n - if project_to_display_dict.get(project_relative_url, None) is None:\n - splitted_project_url = project_relative_url.split(\'/\')\n - for x in xrange(0, len(splitted_project_url)):\n - project_to_display_dict[\'/\'.join(splitted_project_url[0:x+1])] = 1\n + fillDictWithParentAndChildRelativeUrls(project_to_display_dict, project_relative_url)\n \n if not quantity_dict.has_key(project_relative_url):\n temp_object = temp_object_container.newContent(portal_type = \'Project Line\',\n @@ -183,6 +216,16 @@ for string_index, worker_quantity_dict in monthly_worker_quantity_dict.items():\ for source_relative_url, quantity in worker_quantity_dict.items():\n temp_object.setProperty(source_relative_url, quantity)\n \n +# Now build temp objects for quantity per worker\n +total_summary_dict = {}\n +for string_index, worker_quantity_dict in total_worker_quantity_dict.items():\n + temp_object = temp_object_container.newContent(portal_type = \'Project Line\',\n + temp_object=1,\n + string_index = string_index)\n + total_summary_dict[string_index] = temp_object\n + for source_relative_url, quantity in worker_quantity_dict.items():\n + temp_object.setProperty(source_relative_url, quantity)\n +\n column_list.extend(worker_column_list)\n \n selection_name = \'project_monthly_report_selection\'\n @@ -193,11 +236,11 @@ result = []\n from Products.ERP5Form.Report import ReportSection\n param_dict = {}\n \n -project_list = []\n +project_dict = {}\n for project_relative_url in project_relative_url_dict.keys():\n - project_list.append(portal.restrictedTraverse(project_relative_url))\n -param_list = [object_dict, summary_dict, column_list, project_list,\n - monthly_project_to_display_dict]\n + project_dict[project_relative_url] = portal.restrictedTraverse(project_relative_url)\n +param_list = [object_dict, summary_dict, column_list, project_dict,\n + monthly_project_to_display_dict, False, full_date_string]\n \n result.append(ReportSection(\n path=context.getPhysicalPath(),\n @@ -205,6 +248,15 @@ result.append(ReportSection(\n method_id=\'Project_getMonthlyReportContext\',\n listbox_display_mode=\'ReportTreeMode\',\n form_id=\'Project_viewMonthlyReportData\'))\n +\n +param_list = [total_object_dict, total_summary_dict, column_list, project_dict,\n + total_project_to_display_dict, True, full_date_string]\n +result.append(ReportSection(\n + path=context.getPhysicalPath(),\n + param_list=param_list,\n + method_id=\'Project_getMonthlyReportContext\',\n + listbox_display_mode=\'ReportTreeMode\',\n + form_id=\'Project_viewMonthlySummaryReportData\'))\n return result\n diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_init.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_init.xml index 3e93551cfa5c7625f870c9a55bea0d7dd78d1c56..038b14c7ad863449c2cd422735ec2c300dfbb1ed 100644 --- a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_init.xml +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_init.xml @@ -52,7 +52,7 @@ <key> <string>_body</string> </key> <value> <string>"""Initialize an unique codification on project, because projects are often used as security group.\n """\n -codification = context.getPortalObject().portal_ids.generateNewId(id_group=\'project.codification\', id_generator=\'uid\', default=1)\n +codification = context.getPortalObject().portal_ids.generateNewLengthId(id_group=\'project.codification\', default=1)\n context.setCodification(\'PROJ-%s\' % codification)\n </string> </value> </item> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewMonthlySummaryReportData.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewMonthlySummaryReportData.xml new file mode 100644 index 0000000000000000000000000000000000000000..ba2b4820e59d2675db539e82e2c3d6a95cb752c5 --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewMonthlySummaryReportData.xml @@ -0,0 +1,148 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ERP5Form" module="Products.ERP5Form.Form"/> + </pickle> + <pickle> + <dictionary> + <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/> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>action</string> </key> + <value> <string>Project_getObjectDateDict</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>edit_order</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>encoding</string> </key> + <value> <string>UTF-8</string> </value> + </item> + <item> + <key> <string>enctype</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>group_list</string> </key> + <value> + <list> + <string>left</string> + <string>right</string> + <string>center</string> + <string>bottom</string> + <string>hidden</string> + </list> + </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <dictionary> + <item> + <key> <string>bottom</string> </key> + <value> + <list> + <string>listbox</string> + </list> + </value> + </item> + <item> + <key> <string>center</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>left</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>right</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Project_viewMonthlySummaryReportData</string> </value> + </item> + <item> + <key> <string>method</string> </key> + <value> <string>POST</string> </value> + </item> + <item> + <key> <string>name</string> </key> + <value> <string>Project_viewMonthlyReport</string> </value> + </item> + <item> + <key> <string>pt</string> </key> + <value> <string>form_dialog</string> </value> + </item> + <item> + <key> <string>row_length</string> </key> + <value> <int>4</int> </value> + </item> + <item> + <key> <string>stored_encoding</string> </key> + <value> <string>UTF-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Monthly Report</string> </value> + </item> + <item> + <key> <string>unicode_mode</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>update_action</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewMonthlySummaryReportData/listbox.xml b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewMonthlySummaryReportData/listbox.xml new file mode 100644 index 0000000000000000000000000000000000000000..698c0cc2da1a688a8e0d973e077c133f8029fe0c --- /dev/null +++ b/bt5/erp5_project/SkinTemplateItem/portal_skins/erp5_project/Project_viewMonthlySummaryReportData/listbox.xml @@ -0,0 +1,570 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ListBox" module="Products.ERP5Form.ListBox"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>id</string> </key> + <value> <string>listbox</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>anchor</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>anchor</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>all_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>alternate_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>anchor</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>columns</string> </key> + <value> + <list> + <tuple> + <string>title</string> + <string>Title</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>count_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>css_class</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>default_display_style</string> </key> + <value> <string>table</string> </value> + </item> + <item> + <key> <string>default_params</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>display_style_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>domain_root_list</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>domain_tree</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>editable_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>external_validator</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>global_attributes</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>global_search_column</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>hidden</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>hide_rows_on_no_search_criterion</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>lines</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>list_action</string> </key> + <value> <string>list</string> </value> + </item> + <item> + <key> <string>list_method</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>meta_types</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>page_navigation_template</string> </key> + <value> <string>ListBox_viewSliderPageNavigationRenderer</string> </value> + </item> + <item> + <key> <string>page_template</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>portal_types</string> </key> + <value> + <list> + <tuple> + <string>Task</string> + <string>Task</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>report_root_list</string> </key> + <value> + <list> + <tuple> + <string>project_report_monthly_domain</string> + <string>Month</string> + </tuple> + </list> + </value> + </item> + <item> + <key> <string>report_tree</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>row_css_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>search</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>search_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>select</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>selection_name</string> </key> + <value> <string>project_monthly_report_selection</string> </value> + </item> + <item> + <key> <string>sort</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>sort_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>stat_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>stat_method</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>style_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Monthly Summary Report</string> </value> + </item> + <item> + <key> <string>untranslatable_columns</string> </key> + <value> + <list/> + </value> + </item> + <item> + <key> <string>url_columns</string> </key> + <value> + <list/> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <tuple> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + <tuple/> + </tuple> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python: here.column_list</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <global name="Method" module="Products.Formulator.MethodField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>method_name</string> </key> + <value> <string>Project_getMonthlyObjectList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_project/bt/revision b/bt5/erp5_project/bt/revision index 2975e638ba3df389f654c414d29fa71fbea21367..4d5b34789eb552e6c76f33313930efd032a52502 100644 --- a/bt5/erp5_project/bt/revision +++ b/bt5/erp5_project/bt/revision @@ -1 +1 @@ -788 \ No newline at end of file +793 \ No newline at end of file diff --git a/bt5/erp5_project/bt/template_action_path_list b/bt5/erp5_project/bt/template_action_path_list index 985fbbd079c34574e23cc09baba252494d672718..1ca68ea4acaeb34a44cb6a25494368c442629be9 100644 --- a/bt5/erp5_project/bt/template_action_path_list +++ b/bt5/erp5_project/bt/template_action_path_list @@ -17,6 +17,7 @@ Project Milestone | create_new_file Project Milestone | document_list Project Milestone | view Project Module | view +Project Module | worker_monthly_report Project | add_task_related Project | bug_list Project | content