Skip to content
Snippets Groups Projects
Verified Commit 598f84f2 authored by Neda Moeini's avatar Neda Moeini Committed by Karel van Klink
Browse files

Improve patner workflows to use partner_choice method for list of partners.

parent 8f9fc89d
No related branches found
No related tags found
1 merge request!286Add Edge Port, GÉANT IP and IAS products
......@@ -7,23 +7,18 @@ from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State, UUIDstr
from orchestrator.workflow import StepList, begin, done, step, workflow
from pydantic import ConfigDict, EmailStr, field_validator
from pydantic_forms.validators import Choice
from gso.services.partners import delete_partner, get_all_partners, get_partner_by_name
from gso.services.partners import delete_partner, get_partner_by_name
from gso.services.subscriptions import get_subscriptions
from gso.utils.helpers import partner_choice
def initial_input_form_generator() -> FormGenerator:
"""Gather input from the user needed for deleting a partner."""
partners = {}
for partner in get_all_partners():
partners[partner["partner_id"]] = partner["name"]
partner_choice = Choice("Select a partner", zip(partners.values(), partners.items(), strict=True)) # type: ignore[arg-type]
class SelectPartnerForm(FormPage):
model_config = ConfigDict(title="Delete a Partner")
partners: partner_choice # type: ignore[valid-type]
partners: partner_choice() # type: ignore[valid-type]
@field_validator("partners")
def validate_partners(cls, value: Enum) -> Enum:
......
......@@ -5,30 +5,24 @@ from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State, UUIDstr
from orchestrator.workflow import StepList, begin, done, step, workflow
from pydantic import ConfigDict, EmailStr, field_validator
from pydantic_forms.validators import Choice
from gso.services.partners import (
ModifiedPartnerSchema,
edit_partner,
filter_partners_by_email,
filter_partners_by_name,
get_all_partners,
get_partner_by_name,
)
from gso.utils.helpers import partner_choice
def initial_input_form_generator() -> FormGenerator:
"""Gather input from the user needed for modifying a partner."""
partners = {}
for partner in get_all_partners():
partners[partner["partner_id"]] = partner["name"]
partner_choice = Choice("Select a partner", zip(partners.values(), partners.items(), strict=True)) # type: ignore[arg-type]
class SelectPartnerForm(FormPage):
model_config = ConfigDict(title="Choose a Partner")
partners: partner_choice # type: ignore[valid-type]
partners: partner_choice() # type: ignore[valid-type]
initial_user_input = yield SelectPartnerForm
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment