From dd438ad5825bd06262487db9b49792361e427b6b Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Sun, 13 Dec 2020 03:27:11 +0000
Subject: [PATCH] slapos_erp5: Update local roles when setReference on
 organisation

---
 .../workflow_chain_type.xml                   |   2 +-
 .../interactions/Organisation_edit.xml        | 102 ++++++++++++++++++
 .../template_portal_type_workflow_chain_list  |   2 +-
 3 files changed, 104 insertions(+), 2 deletions(-)
 create mode 100644 master/bt5/slapos_erp5/WorkflowTemplateItem/portal_workflow/local_permission_slapos_interaction_workflow/interactions/Organisation_edit.xml

diff --git a/master/bt5/slapos_erp5/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/master/bt5/slapos_erp5/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index c65d1112a..6f3f01f98 100644
--- a/master/bt5/slapos_erp5/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/master/bt5/slapos_erp5/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -57,7 +57,7 @@
  </chain>
  <chain>
   <type>Organisation</type>
-  <workflow>slapos_erp5_interaction_workflow</workflow>
+  <workflow>local_permission_slapos_interaction_workflow, slapos_erp5_interaction_workflow</workflow>
  </chain>
  <chain>
   <type>Payment Transaction</type>
diff --git a/master/bt5/slapos_erp5/WorkflowTemplateItem/portal_workflow/local_permission_slapos_interaction_workflow/interactions/Organisation_edit.xml b/master/bt5/slapos_erp5/WorkflowTemplateItem/portal_workflow/local_permission_slapos_interaction_workflow/interactions/Organisation_edit.xml
new file mode 100644
index 000000000..491cc3ca8
--- /dev/null
+++ b/master/bt5/slapos_erp5/WorkflowTemplateItem/portal_workflow/local_permission_slapos_interaction_workflow/interactions/Organisation_edit.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>Base_updateAllLocalRoles</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>Organisation_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>_setReference.*</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>Organisation</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/master/bt5/slapos_erp5/bt/template_portal_type_workflow_chain_list b/master/bt5/slapos_erp5/bt/template_portal_type_workflow_chain_list
index c7e2e6829..e64a02ee5 100644
--- a/master/bt5/slapos_erp5/bt/template_portal_type_workflow_chain_list
+++ b/master/bt5/slapos_erp5/bt/template_portal_type_workflow_chain_list
@@ -17,7 +17,7 @@ Inventory Line | -immobilisation_movement_interaction_workflow
 Inventory | -immobilisation_movement_interaction_workflow
 Invitation Token | edit_workflow
 Invitation Token | validation_workflow
-Organisation | slapos_erp5_interaction_workflow
+Organisation | local_permission_slapos_interaction_workflow
 Organisation | slapos_erp5_interaction_workflow
 Payment Transaction | local_permission_slapos_interaction_workflow
 Payzen Event | local_permission_slapos_interaction_workflow
-- 
2.30.9