Skip to content
Snippets Groups Projects
Commit d4bb5654 authored by Erik Reid's avatar Erik Reid
Browse files

one possible way of combining similar methods

parent 18164f0e
No related branches found
No related tags found
1 merge request!8Feature/iptrunks prototype
...@@ -19,26 +19,8 @@ from orchestrator.db.models import ProductTable, SubscriptionTable ...@@ -19,26 +19,8 @@ from orchestrator.db.models import ProductTable, SubscriptionTable
from orchestrator.forms.validators import Choice, choice_list from orchestrator.forms.validators import Choice, choice_list
from typing import List, Optional from typing import List, Optional
def a_side_device_selector() -> list:
device_subscriptions = {}
for device_id, device_description in (
SubscriptionTable.query.join(ProductTable)
.filter(
ProductTable.product_type == "Device",
SubscriptionTable.status == "active",
)
.with_entities(SubscriptionTable.subscription_id, SubscriptionTable.description)
.all()
):
device_subscriptions[str(device_id)] = device_description
return choice_list(
Choice("DeviceEnumA", zip(device_subscriptions.keys(), device_subscriptions.items())), # type:ignore
min_items=1,
max_items=1,
)
def b_side_device_selector() -> list: def device_selector(choice_value: str) -> list:
device_subscriptions = {} device_subscriptions = {}
for device_id, device_description in ( for device_id, device_description in (
SubscriptionTable.query.join(ProductTable) SubscriptionTable.query.join(ProductTable)
...@@ -52,19 +34,20 @@ def b_side_device_selector() -> list: ...@@ -52,19 +34,20 @@ def b_side_device_selector() -> list:
device_subscriptions[str(device_id)] = device_description device_subscriptions[str(device_id)] = device_description
return choice_list( return choice_list(
Choice("DeviceEnumB", zip(device_subscriptions.keys(), device_subscriptions.items())), # type:ignore Choice(choice_value, zip(device_subscriptions.keys(), device_subscriptions.items())), # type:ignore
min_items=1, min_items=1,
max_items=1, max_items=1,
) )
def initial_input_form_generator(product_name: str) -> FormGenerator: def initial_input_form_generator(product_name: str) -> FormGenerator:
class CreateIptrunkForm(FormPage): class CreateIptrunkForm(FormPage):
class Config: class Config:
title = product_name title = product_name
geant_s_sid: str geant_s_sid: str
iptrunk_sideA_fqdn: a_side_device_selector() iptrunk_sideA_fqdn: device_selector(choice_value='DeviceEnumA')
iptrunk_sideB_fqdn: b_side_device_selector() iptrunk_sideB_fqdn: device_selector(choice_value='DeviceEnumB')
user_input = yield CreateIptrunkForm user_input = yield CreateIptrunkForm
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment