From 151d9236511dd58e33087f7211e9d3b94dc9c922 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Wed, 15 Apr 2015 14:52:23 +0200
Subject: [PATCH] payment transaction group : add a new workflow state to
 prevent launching computation twice

---
 ...Module_viewPaymentTransactionGroupList.xml |   2 +-
 .../PaymentTransactionGroup_init.xml          |  23 ++++
 .../PaymentTransactionGroup_view.xml          |   2 +-
 ...SelectPaymentTransactionLineListDialog.xml |   2 +-
 ...emoveFromPaymentTransactionGroupDialog.xml |   2 +-
 .../states/closed.xml                         |   2 +-
 .../states/delivering.xml                     | 106 ++++++++++++++++++
 .../transitions/begin_delivery.xml            |  62 ++++++++++
 8 files changed, 196 insertions(+), 5 deletions(-)
 create mode 100644 bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/delivering.xml
 create mode 100644 bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/transitions/begin_delivery.xml

diff --git a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroupModule_viewPaymentTransactionGroupList.xml b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroupModule_viewPaymentTransactionGroupList.xml
index 5b973509d1..0760e04f02 100644
--- a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroupModule_viewPaymentTransactionGroupList.xml
+++ b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroupModule_viewPaymentTransactionGroupList.xml
@@ -2,7 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_init.xml b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_init.xml
index dce94095ef..06d8c6afcd 100644
--- a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_init.xml
+++ b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_init.xml
@@ -69,6 +69,12 @@ context.setSourceReference(reference)\n
             <key> <string>_params</string> </key>
             <value> <string>**kw</string> </value>
         </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>PaymentTransactionGroup_init</string> </value>
@@ -76,4 +82,21 @@ context.setSourceReference(reference)\n
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>roles</string> </key>
+            <value>
+              <tuple>
+                <string>Owner</string>
+              </tuple>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_view.xml b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_view.xml
index 1e850d46dd..52103177a3 100644
--- a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_view.xml
+++ b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_view.xml
@@ -2,7 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_viewSelectPaymentTransactionLineListDialog.xml b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_viewSelectPaymentTransactionLineListDialog.xml
index 813a7cd269..2cc4b04fc8 100644
--- a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_viewSelectPaymentTransactionLineListDialog.xml
+++ b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransactionGroup_viewSelectPaymentTransactionLineListDialog.xml
@@ -2,7 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransaction_viewRemoveFromPaymentTransactionGroupDialog.xml b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransaction_viewRemoveFromPaymentTransactionGroupDialog.xml
index 1a9735b5ad..e9e68009e4 100644
--- a/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransaction_viewRemoveFromPaymentTransactionGroupDialog.xml
+++ b/bt5/erp5_payment_mean/SkinTemplateItem/portal_skins/erp5_payment_mean/PaymentTransaction_viewRemoveFromPaymentTransactionGroupDialog.xml
@@ -2,7 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+      <global name="ERP5 Form" module="erp5.portal_type"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/closed.xml b/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/closed.xml
index 717229b8fc..c8ae08605e 100644
--- a/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/closed.xml
+++ b/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/closed.xml
@@ -28,9 +28,9 @@
             <key> <string>transitions</string> </key>
             <value>
               <tuple>
+                <string>begin_delivery</string>
                 <string>cancel</string>
                 <string>cancel_action</string>
-                <string>deliver</string>
                 <string>deliver_action</string>
                 <string>open</string>
                 <string>open_action</string>
diff --git a/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/delivering.xml b/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/delivering.xml
new file mode 100644
index 0000000000..9aeeea8a42
--- /dev/null
+++ b/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/states/delivering.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>delivering</string> </value>
+        </item>
+        <item>
+            <key> <string>permission_roles</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Delivering</string> </value>
+        </item>
+        <item>
+            <key> <string>transitions</string> </key>
+            <value>
+              <tuple>
+                <string>deliver</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>Access contents information</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Add portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Delete objects</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>Modify portal content</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>View</string> </key>
+                    <value>
+                      <tuple>
+                        <string>Assignee</string>
+                        <string>Assignor</string>
+                        <string>Auditor</string>
+                        <string>Manager</string>
+                      </tuple>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/transitions/begin_delivery.xml b/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/transitions/begin_delivery.xml
new file mode 100644
index 0000000000..7f280d930c
--- /dev/null
+++ b/bt5/erp5_payment_mean/WorkflowTemplateItem/portal_workflow/payment_transaction_group_validation_workflow/transitions/begin_delivery.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_icon</string> </key>
+            <value> <string></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>after_script_name</string> </key>
+            <value> <string></string> </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>begin_delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>new_state_id</string> </key>
+            <value> <string>delivering</string> </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Begin Delivery</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
-- 
2.30.9