Skip to content
Snippets Groups Projects
Commit 7f615e98 authored by Karel van Klink's avatar Karel van Klink :smiley_cat: Committed by Simone Spinelli
Browse files

Force the correct amount of members for an IP trunk in the input form

parent 55dfadfe
No related branches found
No related tags found
3 merge requests!26Update initial form for IP trunk creation,!25Update initial form for IP trunk creation,!24Update initial form for IP trunk creation
......@@ -3,7 +3,7 @@ from uuid import uuid4
from orchestrator.db.models import ProductTable, SubscriptionTable
# noinspection PyProtectedMember
from orchestrator.forms import FormPage
from orchestrator.forms.validators import Choice
from orchestrator.forms.validators import Choice, UniqueConstrainedList
from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State
from orchestrator.types import SubscriptionLifecycle, UUIDstr
......@@ -52,6 +52,10 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
initial_user_input = yield CreateIptrunkForm
class AeMembersList(UniqueConstrainedList[str]):
min_items = initial_user_input.iptrunk_minimum_links
max_items = initial_user_input.iptrunk_minimum_links
DeviceEnumA = Choice('Device A', zip(devices.keys(), devices.items()))
class CreateIptrunkSideAForm(FormPage):
......@@ -61,8 +65,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
iptrunk_sideA_node_id: DeviceEnumA
iptrunk_sideA_ae_iface: str
iptrunk_sideA_ae_geant_a_sid: str
iptrunk_sideA_ae_members: list[str]
iptrunk_sideA_ae_members_descriptions: list[str]
iptrunk_sideA_ae_members: AeMembersList
iptrunk_sideA_ae_members_descriptions: AeMembersList
user_input_side_a = yield CreateIptrunkSideAForm
......@@ -77,8 +81,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
iptrunk_sideB_node_id: DeviceEnumB
iptrunk_sideB_ae_iface: str
iptrunk_sideB_ae_geant_a_sid: str
iptrunk_sideB_ae_members: list[str]
iptrunk_sideB_ae_members_descriptions: list[str]
iptrunk_sideB_ae_members: AeMembersList
iptrunk_sideB_ae_members_descriptions: AeMembersList
user_input_side_b = yield CreateIptrunkSideBForm
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment