From 9b95283dc7b13d89f92abf622632863f7af7edbc Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 10 May 2012 12:04:53 +0200
Subject: [PATCH] Migrate rename transition.

---
 .../states/destroy_requested.xml              |  2 --
 .../states/start_requested.xml                |  2 --
 .../states/stop_requested.xml                 |  2 --
 master/bt5/vifib_base/bt/revision             |  2 +-
 .../scripts/RequestedInstance_rename.xml}     | 29 +++++++++++++++----
 .../states/draft.xml                          |  1 +
 .../states/start_requested.xml                |  1 +
 .../states/stop_requested.xml                 |  1 +
 .../transitions/rename.xml                    |  4 +--
 master/bt5/vifib_slapos_core/bt/revision      |  2 +-
 10 files changed, 30 insertions(+), 16 deletions(-)
 rename master/bt5/{vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/scripts/SoftwareInstance_rename.xml => vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/scripts/RequestedInstance_rename.xml} (70%)
 rename master/bt5/{vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow => vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow}/transitions/rename.xml (93%)

diff --git a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/destroy_requested.xml b/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/destroy_requested.xml
index f729e7c9e..b3ed40d5d 100644
--- a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/destroy_requested.xml
+++ b/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/destroy_requested.xml
@@ -24,8 +24,6 @@
               <tuple>
                 <string>destroy_computer_partition</string>
                 <string>destroy_requested</string>
-                <string>lock</string>
-                <string>rename</string>
                 <string>report_computer_partition_bang</string>
                 <string>report_computer_partition_error</string>
                 <string>request_destroy_computer_partition</string>
diff --git a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/start_requested.xml b/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/start_requested.xml
index 3703f0ea2..9da3468f4 100644
--- a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/start_requested.xml
+++ b/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/start_requested.xml
@@ -24,8 +24,6 @@
               <tuple>
                 <string>destroy_computer_partition</string>
                 <string>destroy_requested</string>
-                <string>lock</string>
-                <string>rename</string>
                 <string>report_computer_partition_bang</string>
                 <string>report_computer_partition_error</string>
                 <string>request_destroy_computer_partition</string>
diff --git a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/stop_requested.xml b/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/stop_requested.xml
index 3e6de9316..9bee50fa1 100644
--- a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/stop_requested.xml
+++ b/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/states/stop_requested.xml
@@ -24,8 +24,6 @@
               <tuple>
                 <string>destroy_computer_partition</string>
                 <string>destroy_requested</string>
-                <string>lock</string>
-                <string>rename</string>
                 <string>report_computer_partition_bang</string>
                 <string>report_computer_partition_error</string>
                 <string>request_destroy_computer_partition</string>
diff --git a/master/bt5/vifib_base/bt/revision b/master/bt5/vifib_base/bt/revision
index 3fa694f24..9ec873d37 100644
--- a/master/bt5/vifib_base/bt/revision
+++ b/master/bt5/vifib_base/bt/revision
@@ -1 +1 @@
-437
\ No newline at end of file
+438
\ No newline at end of file
diff --git a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/scripts/SoftwareInstance_rename.xml b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/scripts/RequestedInstance_rename.xml
similarity index 70%
rename from master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/scripts/SoftwareInstance_rename.xml
rename to master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/scripts/RequestedInstance_rename.xml
index c708b8251..e922f8eab 100644
--- a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/scripts/SoftwareInstance_rename.xml
+++ b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/scripts/RequestedInstance_rename.xml
@@ -50,12 +50,29 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string># Get the software_instance\n
-software_instance = state_change[\'object\']\n
+            <value> <string encoding="cdata"><![CDATA[
+
+instance = state_change[\'object\']\n
+portal = instance.getPortalObject()\n
+software_title = state_change.kwargs[\'new_name\']\n
+\n
+assert instance.getPortalType() in ["Slave Instance", "Software Instance"]\n
+\n
+hosting_subscription = instance.getSpecialiseValue(portal_type="Hosting Subscription")\n
+\n
+# Instance can be moved from one requester to another\n
+# Prevent creating two instances with the same title\n
+tag = "%s_%s_inProgress" % (hosting_subscription.getUid(), software_title)\n
+if (portal.portal_activities.countMessageWithTag(tag) > 0):\n
+  # The software instance is already under creation but can not be fetched from catalog\n
+  # As it is not possible to fetch informations, it is better to raise an error\n
+  raise NotImplementedError(tag)\n
 \n
 # Change the title\n
-software_instance.edit(title=state_change.kwargs[\'new_name\'])\n
-</string> </value>
+instance.edit(title=software_title, activate_kw={\'tag\': tag})\n
+
+
+]]></string> </value>
         </item>
         <item>
             <key> <string>_params</string> </key>
@@ -63,11 +80,11 @@ software_instance.edit(title=state_change.kwargs[\'new_name\'])\n
         </item>
         <item>
             <key> <string>id</string> </key>
-            <value> <string>SoftwareInstance_rename</string> </value>
+            <value> <string>RequestedInstance_rename</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Rename software instance</string> </value>
+            <value> <string></string> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/draft.xml b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/draft.xml
index aeaa34cb9..8794ab3e3 100644
--- a/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/draft.xml
+++ b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/draft.xml
@@ -22,6 +22,7 @@
             <key> <string>transitions</string> </key>
             <value>
               <tuple>
+                <string>rename</string>
                 <string>request_destroy</string>
                 <string>request_instance</string>
                 <string>request_start</string>
diff --git a/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/start_requested.xml b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/start_requested.xml
index dccf1652d..66ba7fcde 100644
--- a/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/start_requested.xml
+++ b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/start_requested.xml
@@ -22,6 +22,7 @@
             <key> <string>transitions</string> </key>
             <value>
               <tuple>
+                <string>rename</string>
                 <string>request_destroy</string>
                 <string>request_instance</string>
                 <string>request_start</string>
diff --git a/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/stop_requested.xml b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/stop_requested.xml
index 35b57c0d6..8f8d29f5c 100644
--- a/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/stop_requested.xml
+++ b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/states/stop_requested.xml
@@ -22,6 +22,7 @@
             <key> <string>transitions</string> </key>
             <value>
               <tuple>
+                <string>rename</string>
                 <string>request_destroy</string>
                 <string>request_instance</string>
                 <string>request_start</string>
diff --git a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/transitions/rename.xml b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/transitions/rename.xml
similarity index 93%
rename from master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/transitions/rename.xml
rename to master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/transitions/rename.xml
index d91e538a7..121bd6b40 100644
--- a/master/bt5/vifib_base/WorkflowTemplateItem/portal_workflow/software_instance_slap_interface_workflow/transitions/rename.xml
+++ b/master/bt5/vifib_slapos_core/WorkflowTemplateItem/portal_workflow/instance_slap_interface_workflow/transitions/rename.xml
@@ -24,7 +24,7 @@
         </item>
         <item>
             <key> <string>after_script_name</string> </key>
-            <value> <string>SoftwareInstance_rename</string> </value>
+            <value> <string>RequestedInstance_rename</string> </value>
         </item>
         <item>
             <key> <string>description</string> </key>
@@ -50,7 +50,7 @@
         </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Rename Software Instance</string> </value>
+            <value> <string></string> </value>
         </item>
         <item>
             <key> <string>trigger_type</string> </key>
diff --git a/master/bt5/vifib_slapos_core/bt/revision b/master/bt5/vifib_slapos_core/bt/revision
index 9a037142a..9d607966b 100644
--- a/master/bt5/vifib_slapos_core/bt/revision
+++ b/master/bt5/vifib_slapos_core/bt/revision
@@ -1 +1 @@
-10
\ No newline at end of file
+11
\ No newline at end of file
-- 
2.30.9