From 81f1730ee10b15c85468c9f566a7566fca1cd45b Mon Sep 17 00:00:00 2001 From: Hakan Calim <hakan.calim@fau.de> Date: Sun, 4 Feb 2024 13:47:44 +0100 Subject: [PATCH] NAT-410: added router selector to forms --- gso/utils/forms.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 gso/utils/forms.py diff --git a/gso/utils/forms.py b/gso/utils/forms.py new file mode 100644 index 00000000..5cb6c9d2 --- /dev/null +++ b/gso/utils/forms.py @@ -0,0 +1,25 @@ +"""Components to use in workflow forms.""" +from orchestrator.forms import FormPage +from orchestrator.forms.validators import Choice +from orchestrator.types import UUIDstr +from pydantic import validator + +from gso.utils.helpers import validate_router_in_netbox + + +class SelectRouterSide(FormPage): + """Selector for a router on a side.""" + + class Config: + """Setup title.""" + + title: str + + side_node_id: Choice + config: Config + + + @validator("side_node_id", allow_reuse=True) + def validate_device_exists_in_netbox(cls, side_node_id: UUIDstr) -> str | None: + """Validate side node id.""" + return validate_router_in_netbox(side_node_id) -- GitLab