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 ...@@ -7,23 +7,18 @@ from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.types import FormGenerator, State, UUIDstr
from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflow import StepList, begin, done, step, workflow
from pydantic import ConfigDict, EmailStr, field_validator 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.services.subscriptions import get_subscriptions
from gso.utils.helpers import partner_choice
def initial_input_form_generator() -> FormGenerator: def initial_input_form_generator() -> FormGenerator:
"""Gather input from the user needed for deleting a partner.""" """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): class SelectPartnerForm(FormPage):
model_config = ConfigDict(title="Delete a Partner") model_config = ConfigDict(title="Delete a Partner")
partners: partner_choice # type: ignore[valid-type] partners: partner_choice() # type: ignore[valid-type]
@field_validator("partners") @field_validator("partners")
def validate_partners(cls, value: Enum) -> Enum: def validate_partners(cls, value: Enum) -> Enum:
......
...@@ -5,30 +5,24 @@ from orchestrator.targets import Target ...@@ -5,30 +5,24 @@ from orchestrator.targets import Target
from orchestrator.types import FormGenerator, State, UUIDstr from orchestrator.types import FormGenerator, State, UUIDstr
from orchestrator.workflow import StepList, begin, done, step, workflow from orchestrator.workflow import StepList, begin, done, step, workflow
from pydantic import ConfigDict, EmailStr, field_validator from pydantic import ConfigDict, EmailStr, field_validator
from pydantic_forms.validators import Choice
from gso.services.partners import ( from gso.services.partners import (
ModifiedPartnerSchema, ModifiedPartnerSchema,
edit_partner, edit_partner,
filter_partners_by_email, filter_partners_by_email,
filter_partners_by_name, filter_partners_by_name,
get_all_partners,
get_partner_by_name, get_partner_by_name,
) )
from gso.utils.helpers import partner_choice
def initial_input_form_generator() -> FormGenerator: def initial_input_form_generator() -> FormGenerator:
"""Gather input from the user needed for modifying a partner.""" """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): class SelectPartnerForm(FormPage):
model_config = ConfigDict(title="Choose a Partner") 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 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