Skip to content
Snippets Groups Projects

Update initial form for IP trunk creation

Closed Karel van Klink requested to merge feature/multi-step-ip-trunk-form into develop
1 file
+ 9
6
Compare changes
  • Side-by-side
  • Inline
  • 235c882c
    Small improvements · 235c882c
    Karel van Klink authored
    * minimum is a minimum again, not a maximum
    * amount of interfaces and descriptions of side B is automatically set equal to that of the A side
@@ -52,9 +52,8 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
initial_user_input = yield CreateIptrunkForm
class AeMembersList(UniqueConstrainedList[str]):
class AeMembersListA(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()))
@@ -65,8 +64,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: AeMembersList
iptrunk_sideA_ae_members_descriptions: AeMembersList
iptrunk_sideA_ae_members: AeMembersListA
iptrunk_sideA_ae_members_descriptions: AeMembersListA
user_input_side_a = yield CreateIptrunkSideAForm
@@ -74,6 +73,10 @@ def initial_input_form_generator(product_name: str) -> FormGenerator:
devices.pop(str(user_input_side_a.iptrunk_sideA_node_id.name))
DeviceEnumB = Choice('Device B', zip(devices.keys(), devices.items()))
class AeMembersListB(UniqueConstrainedList[str]):
min_items = len(user_input_side_a.iptrunk_sideA_ae_members)
max_items = len(user_input_side_a.iptrunk_sideA_ae_members)
class CreateIptrunkSideBForm(FormPage):
class Config:
title = 'Provide subscription details for side B of the trunk.'
@@ -81,8 +84,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: AeMembersList
iptrunk_sideB_ae_members_descriptions: AeMembersList
iptrunk_sideB_ae_members: AeMembersListB
iptrunk_sideB_ae_members_descriptions: AeMembersListB
user_input_side_b = yield CreateIptrunkSideBForm
Loading