diff --git a/geant_service_orchestrator/workflows/device/create_device.py b/geant_service_orchestrator/workflows/device/create_device.py index 5be2e0e47011656048516e294ca37e76883b6fba..cd65fefb12198f43c25398f57f28022891c7b348 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