From a79219bba5f11d7ac3ac0e0fd1d4387ef021db1a Mon Sep 17 00:00:00 2001 From: Sebastien Robin <seb@nexedi.com> Date: Tue, 8 Apr 2014 15:55:56 +0200 Subject: [PATCH] erp5_calendar: add interaction workflow to update catalog values When a Group Calendar or a Group Presence Period is updated, it's necessary to update related Group Assignment stock catalog data since values are dependent. --- .../document.erp5.GroupCalendarAssignment.py | 8 +- .../workflow_chain_type.xml | 4 +- .../GroupCalendar_updateRelatedAssignment.xml | 80 ++++++++++++++ .../group_calendar_interaction_workflow.xml | 28 +++++ .../interactions.xml | 28 +++++ ...oup_calendar_update_related_assignment.xml | 102 ++++++++++++++++++ ...sence_period_update_related_assignment.xml | 102 ++++++++++++++++++ .../scripts.xml | 28 +++++ ...upCalendar_callUpdateRelatedAssignment.xml | 68 ++++++++++++ ...encePeriod_callUpdateRelatedAssignment.xml | 68 ++++++++++++ .../variables.xml | 22 ++++ .../worklists.xml | 22 ++++ bt5/erp5_calendar/bt/revision | 2 +- .../template_portal_type_workflow_chain_list | 2 + .../bt/template_workflow_id_list | 1 + 15 files changed, 558 insertions(+), 7 deletions(-) create mode 100644 bt5/erp5_calendar/SkinTemplateItem/portal_skins/erp5_calendar/GroupCalendar_updateRelatedAssignment.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_calendar_update_related_assignment.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_presence_period_update_related_assignment.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupCalendar_callUpdateRelatedAssignment.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupPresencePeriod_callUpdateRelatedAssignment.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/variables.xml create mode 100644 bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/worklists.xml diff --git a/bt5/erp5_calendar/DocumentTemplateItem/portal_components/document.erp5.GroupCalendarAssignment.py b/bt5/erp5_calendar/DocumentTemplateItem/portal_components/document.erp5.GroupCalendarAssignment.py index a6c6e2359b..053898b671 100644 --- a/bt5/erp5_calendar/DocumentTemplateItem/portal_components/document.erp5.GroupCalendarAssignment.py +++ b/bt5/erp5_calendar/DocumentTemplateItem/portal_components/document.erp5.GroupCalendarAssignment.py @@ -56,8 +56,8 @@ class GroupCalendarAssignment(PresencePeriod): return result presence_period_list = group_calendar.objectValues(portal_type="Group Presence Period") for presence_period in presence_period_list: - for from_date, to_date in presence_period._getDatePeriodList(): - if from_date.greaterThanEqualTo(self.getStartDate()) and \ - to_date.lessThanEqualTo(self.getStopDate() or group_calendar.getStopDate()): - result.append(self.asContext(self, start_date=to_date, stop_date=from_date)) + for date_period_data in presence_period._getDatePeriodDataList(): + if date_period_data['start_date'].greaterThanEqualTo(self.getStartDate()) and \ + date_period_data['stop_date'].lessThanEqualTo(self.getStopDate() or group_calendar.getStopDate()): + result.append(self.asContext(self, **date_period_data)) return result diff --git a/bt5/erp5_calendar/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_calendar/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml index efd6a348ee..e9b843b742 100644 --- a/bt5/erp5_calendar/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml +++ b/bt5/erp5_calendar/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml @@ -1,7 +1,7 @@ <workflow_chain> <chain> <type>Group Calendar</type> - <workflow>edit_workflow, group_calendar_workflow</workflow> + <workflow>edit_workflow, group_calendar_interaction_workflow, group_calendar_workflow</workflow> </chain> <chain> <type>Group Calendar Assignment</type> @@ -9,7 +9,7 @@ </chain> <chain> <type>Group Presence Period</type> - <workflow>edit_workflow</workflow> + <workflow>edit_workflow, group_calendar_interaction_workflow</workflow> </chain> <chain> <type>Leave Request</type> diff --git a/bt5/erp5_calendar/SkinTemplateItem/portal_skins/erp5_calendar/GroupCalendar_updateRelatedAssignment.xml b/bt5/erp5_calendar/SkinTemplateItem/portal_skins/erp5_calendar/GroupCalendar_updateRelatedAssignment.xml new file mode 100644 index 0000000000..071a122ea7 --- /dev/null +++ b/bt5/erp5_calendar/SkinTemplateItem/portal_skins/erp5_calendar/GroupCalendar_updateRelatedAssignment.xml @@ -0,0 +1,80 @@ +<?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>_body</string> </key> + <value> <string>"""\n +Reindex all related group calendar assignments in case there is\n +any change. This is needed because group calendar properties affect the\n +values reindexed in stock by group calendar assignments\n +\n +We could have possibly millions of assignments linked to the same group\n +calendar, therefore make sure to use method that would well scale\n +"""\n +group_calendar = context\n +portal = group_calendar.getPortalObject()\n +portal.portal_catalog.searchAndActivate(method_id="reindexObject",\n + activate_kw={\'priority\': 3},\n + specialise_uid=group_calendar.getUid(),\n + portal_type="Group Calendar Assignment")\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>GroupCalendar_updateRelatedAssignment</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow.xml new file mode 100644 index 0000000000..26b29b5db9 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>groups</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>group_calendar_interaction_workflow</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions.xml new file mode 100644 index 0000000000..e18bf8cbf7 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Interaction" module="Products.ERP5.Interaction"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>interactions</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_calendar_update_related_assignment.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_calendar_update_related_assignment.xml new file mode 100644 index 0000000000..8626222bcb --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_calendar_update_related_assignment.xml @@ -0,0 +1,102 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>actbox_category</string> </key> + <value> <string>workflow</string> </value> + </item> + <item> + <key> <string>actbox_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>actbox_url</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>activate_script_name</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>after_script_name</string> </key> + <value> + <list> + <string>GroupCalendar_callUpdateRelatedAssignment</string> + </list> + </value> + </item> + <item> + <key> <string>before_commit_script_name</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>group_calendar_update_related_assignment</string> </value> + </item> + <item> + <key> <string>method_id</string> </key> + <value> + <list> + <string>_set.*</string> + </list> + </value> + </item> + <item> + <key> <string>once_per_transaction</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>portal_type_filter</string> </key> + <value> + <list> + <string>Group Calendar</string> + </list> + </value> + </item> + <item> + <key> <string>portal_type_group_filter</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>script_name</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>temporary_document_disallowed</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>trigger_type</string> </key> + <value> <int>2</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_presence_period_update_related_assignment.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_presence_period_update_related_assignment.xml new file mode 100644 index 0000000000..0019c09e88 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/interactions/group_presence_period_update_related_assignment.xml @@ -0,0 +1,102 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="InteractionDefinition" module="Products.ERP5.Interaction"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>actbox_category</string> </key> + <value> <string>workflow</string> </value> + </item> + <item> + <key> <string>actbox_name</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>actbox_url</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>activate_script_name</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>after_script_name</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>before_commit_script_name</string> </key> + <value> + <list> + <string>GroupPresencePeriod_callUpdateRelatedAssignment</string> + </list> + </value> + </item> + <item> + <key> <string>description</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>guard</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>group_presence_period_update_related_assignment</string> </value> + </item> + <item> + <key> <string>method_id</string> </key> + <value> + <list> + <string>_set.*</string> + </list> + </value> + </item> + <item> + <key> <string>once_per_transaction</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>portal_type_filter</string> </key> + <value> + <list> + <string>Group Presence Period</string> + </list> + </value> + </item> + <item> + <key> <string>portal_type_group_filter</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>script_name</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>temporary_document_disallowed</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>trigger_type</string> </key> + <value> <int>2</int> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts.xml new file mode 100644 index 0000000000..072c8f6540 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Scripts" module="Products.DCWorkflow.Scripts"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>_objects</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>scripts</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupCalendar_callUpdateRelatedAssignment.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupCalendar_callUpdateRelatedAssignment.xml new file mode 100644 index 0000000000..e309d85111 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupCalendar_callUpdateRelatedAssignment.xml @@ -0,0 +1,68 @@ +<?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>_body</string> </key> + <value> <string>group_calendar = state_change["object"]\n +group_calendar.GroupCalendar_updateRelatedAssignment()\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>state_change, **kw</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>GroupCalendar_callUpdateRelatedAssignment</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupPresencePeriod_callUpdateRelatedAssignment.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupPresencePeriod_callUpdateRelatedAssignment.xml new file mode 100644 index 0000000000..01cfebb79d --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/scripts/GroupPresencePeriod_callUpdateRelatedAssignment.xml @@ -0,0 +1,68 @@ +<?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>_body</string> </key> + <value> <string>group_calendar = state_change["object"].getParentValue()\n +group_calendar.GroupCalendar_updateRelatedAssignment()\n +</string> </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>state_change, **kw</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>GroupPresencePeriod_callUpdateRelatedAssignment</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/variables.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/variables.xml new file mode 100644 index 0000000000..6ae03699d1 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/variables.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Variables" module="Products.DCWorkflow.Variables"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>variables</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/worklists.xml b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/worklists.xml new file mode 100644 index 0000000000..c3432aa051 --- /dev/null +++ b/bt5/erp5_calendar/WorkflowTemplateItem/portal_workflow/group_calendar_interaction_workflow/worklists.xml @@ -0,0 +1,22 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Worklists" module="Products.DCWorkflow.Worklists"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_mapping</string> </key> + <value> + <dictionary/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>worklists</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_calendar/bt/revision b/bt5/erp5_calendar/bt/revision index eb8f2fa1ae..a99c3866eb 100644 --- a/bt5/erp5_calendar/bt/revision +++ b/bt5/erp5_calendar/bt/revision @@ -1 +1 @@ -379 \ No newline at end of file +380 \ No newline at end of file diff --git a/bt5/erp5_calendar/bt/template_portal_type_workflow_chain_list b/bt5/erp5_calendar/bt/template_portal_type_workflow_chain_list index 311ab32df3..a81f0e09a9 100644 --- a/bt5/erp5_calendar/bt/template_portal_type_workflow_chain_list +++ b/bt5/erp5_calendar/bt/template_portal_type_workflow_chain_list @@ -1,8 +1,10 @@ Group Calendar Assignment | edit_workflow Group Calendar Assignment | group_calendar_workflow Group Calendar | edit_workflow +Group Calendar | group_calendar_interaction_workflow Group Calendar | group_calendar_workflow Group Presence Period | edit_workflow +Group Presence Period | group_calendar_interaction_workflow Leave Request Period | edit_workflow Leave Request | edit_workflow Leave Request | leave_request_workflow diff --git a/bt5/erp5_calendar/bt/template_workflow_id_list b/bt5/erp5_calendar/bt/template_workflow_id_list index 5068e478ee..acca0c6904 100644 --- a/bt5/erp5_calendar/bt/template_workflow_id_list +++ b/bt5/erp5_calendar/bt/template_workflow_id_list @@ -1,3 +1,4 @@ +group_calendar_interaction_workflow group_calendar_workflow leave_request_workflow presence_request_workflow \ No newline at end of file -- 2.30.9