AY-5539 - new Settings for filtering of creators

This commit is contained in:
Petr Kalis 2024-05-28 16:46:41 +02:00
parent ca14637ac4
commit ddd998f417

View file

@ -35,6 +35,22 @@ class ProductNameProfile(BaseSettingsModel):
template: str = SettingsField("", title="Template")
class FilterCreatorProfile(BaseSettingsModel):
"""Provide list of allowed Creator identifiers for context"""
_layout = "expanded"
hosts: list[str] = SettingsField(default_factory=list, title="Hosts")
task_types: list[str] = SettingsField(
default_factory=list,
title="Task types",
enum_resolver=task_types_enum
)
task_names: list[str] = SettingsField(default_factory=list,
title="Task names")
creator_identifiers: list[str] = SettingsField(
"", title="Allowed Creator Identifiers")
class CreatorToolModel(BaseSettingsModel):
# TODO this was dynamic dictionary '{name: task_names}'
product_types_smart_select: list[ProductTypeSmartSelectModel] = (
@ -48,6 +64,11 @@ class CreatorToolModel(BaseSettingsModel):
title="Product name profiles"
)
filter_creator_profiles: list[FilterCreatorProfile] = SettingsField(
default_factory=list,
title="Filter creator profiles"
)
@validator("product_types_smart_select")
def validate_unique_name(cls, value):
ensure_unique_names(value)
@ -404,7 +425,8 @@ DEFAULT_TOOLS_VALUES = {
"tasks": [],
"template": "SK_{folder[name]}{variant}"
}
]
],
"filter_creator_profiles": []
},
"Workfiles": {
"workfile_template_profiles": [