From ea444e3b4174d83eae605617f6fcbfa1eb62b37e Mon Sep 17 00:00:00 2001
From: root <root@simone04.dev.gap.geant.org>
Date: Thu, 6 Apr 2023 09:22:03 +0000
Subject: [PATCH] Workflow broken because I dont know how to have a
 confirmation step

---
 .../workflows/device/create_device.py         | 31 +++++++++----------
 1 file changed, 15 insertions(+), 16 deletions(-)

diff --git a/geant_service_orchestrator/workflows/device/create_device.py b/geant_service_orchestrator/workflows/device/create_device.py
index 5be2e0e4..cd65fefb 100644
--- a/geant_service_orchestrator/workflows/device/create_device.py
+++ b/geant_service_orchestrator/workflows/device/create_device.py
@@ -30,6 +30,16 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
 
     return user_input.dict()
 
+def confirmation_form() -> FormGenerator:
+    class ConfirmActionForm(FormPage):
+        class Config:
+            title = "Confirm your action"
+
+        choice: bool
+
+    user_input = yield ConfirmActionForm
+
+    return user_input.dict()
 
 @step("Create subscription")
 def create_subscription(product: UUIDstr) -> State:
@@ -117,21 +127,10 @@ def provision_device_dry(
 
 
 @step("Confirm provisioning")
-def confirmation_form() -> State:
-    class ConfirmActionForm(FormPage):
-        class Config:
-            title = "Confirm your action"
-
-        choice: bool
-
-    user_input = yield ConfirmActionForm
-
-    return user_input.dict()
-
-
-user_input = confirmation_form()
-if not user_input.choice:
-    exit
+def confirm_provisioning_step() -> State:
+    user_input = confirmation_form()
+    if not user_input.choice:
+        exit
 
 @workflow(
     "Create Device",
@@ -148,7 +147,7 @@ def create_device():
         >> get_snmp_info
         >> initialize_subscription
         >> provision_device_dry
-        >> confirmation_form
+        >> confirm_provisioning_step
         >> set_status(SubscriptionLifecycle.ACTIVE)
         >> resync
         >> done
-- 
GitLab