From d8040cce473e08fe77741b2346cfd4937518227d Mon Sep 17 00:00:00 2001
From: Karel van Klink <karel.vanklink@geant.org>
Date: Fri, 23 Feb 2024 15:00:30 +0100
Subject: [PATCH] Allow more workflows to be executed on provisioning routers

---
 gso/translations/en-GB.json             | 1 +
 gso/workflows/__init__.py               | 7 +++++++
 gso/workflows/router/activate_router.py | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/gso/translations/en-GB.json b/gso/translations/en-GB.json
index c8f8d241..c62a6f69 100644
--- a/gso/translations/en-GB.json
+++ b/gso/translations/en-GB.json
@@ -36,6 +36,7 @@
         }
     },
     "workflow": {
+        "activate_router": "Activate router",
         "confirm_info": "Please verify this form looks correct.",
         "deploy_twamp": "Deploy TWAMP",
         "migrate_iptrunk": "Migrate IP Trunk",
diff --git a/gso/workflows/__init__.py b/gso/workflows/__init__.py
index 128ef199..d6b5f23c 100644
--- a/gso/workflows/__init__.py
+++ b/gso/workflows/__init__.py
@@ -1,7 +1,14 @@
 """Initialisation class that imports all workflows into :term:`GSO`."""
 
+from orchestrator.services.subscriptions import WF_USABLE_MAP
 from orchestrator.workflows import LazyWorkflowInstance
 
+WF_USABLE_MAP.update({
+    "redeploy_base_config": ["provisioning", "active"],
+    "update_ibgp_mesh": ["provisioning", "active"],
+    "activate_router": ["provisioning"],
+})
+
 LazyWorkflowInstance("gso.workflows.iptrunk.create_iptrunk", "create_iptrunk")
 LazyWorkflowInstance("gso.workflows.iptrunk.deploy_twamp", "deploy_twamp")
 LazyWorkflowInstance("gso.workflows.iptrunk.modify_isis_metric", "modify_isis_metric")
diff --git a/gso/workflows/router/activate_router.py b/gso/workflows/router/activate_router.py
index 246b4407..10fb92ce 100644
--- a/gso/workflows/router/activate_router.py
+++ b/gso/workflows/router/activate_router.py
@@ -15,7 +15,7 @@ def _initial_input_form(subscription_id: UUIDstr) -> FormGenerator:
     router = Router.from_subscription(subscription_id)
 
     class ActivateRouterForm(FormPage):
-        info_label: Label = "promote?"
+        info_label: Label = "Start approval process for router activation."  # noqa: ignore[assignment]
         tt_number: str
 
     user_input = yield ActivateRouterForm
-- 
GitLab