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
This commit is part of merge request !24. Comments created here will be created in the context of that merge request.
...@@ -3,7 +3,7 @@ from uuid import uuid4 ...@@ -3,7 +3,7 @@ from uuid import uuid4
from orchestrator.db.models import ProductTable, SubscriptionTable from orchestrator.db.models import ProductTable, SubscriptionTable
# noinspection PyProtectedMember # noinspection PyProtectedMember
from orchestrator.forms import FormPage 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.targets import Target
from orchestrator.types import FormGenerator, State from orchestrator.types import FormGenerator, State
from orchestrator.types import SubscriptionLifecycle, UUIDstr from orchestrator.types import SubscriptionLifecycle, UUIDstr
...@@ -52,6 +52,10 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: ...@@ -52,6 +52,10 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
initial_user_input = yield CreateIptrunkForm 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())) DeviceEnumA = Choice('Device A', zip(devices.keys(), devices.items()))
class CreateIptrunkSideAForm(FormPage): class CreateIptrunkSideAForm(FormPage):
...@@ -61,8 +65,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: ...@@ -61,8 +65,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
iptrunk_sideA_node_id: DeviceEnumA iptrunk_sideA_node_id: DeviceEnumA
iptrunk_sideA_ae_iface: str iptrunk_sideA_ae_iface: str
iptrunk_sideA_ae_geant_a_sid: str iptrunk_sideA_ae_geant_a_sid: str
iptrunk_sideA_ae_members: list[str] iptrunk_sideA_ae_members: AeMembersList
iptrunk_sideA_ae_members_descriptions: list[str] iptrunk_sideA_ae_members_descriptions: AeMembersList
user_input_side_a = yield CreateIptrunkSideAForm user_input_side_a = yield CreateIptrunkSideAForm
...@@ -77,8 +81,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator: ...@@ -77,8 +81,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
iptrunk_sideB_node_id: DeviceEnumB iptrunk_sideB_node_id: DeviceEnumB
iptrunk_sideB_ae_iface: str iptrunk_sideB_ae_iface: str
iptrunk_sideB_ae_geant_a_sid: str iptrunk_sideB_ae_geant_a_sid: str
iptrunk_sideB_ae_members: list[str] iptrunk_sideB_ae_members: AeMembersList
iptrunk_sideB_ae_members_descriptions: list[str] iptrunk_sideB_ae_members_descriptions: AeMembersList
user_input_side_b = yield CreateIptrunkSideBForm 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