updated apps
This commit is contained in:
@@ -62,7 +62,7 @@ from .const import (
|
||||
from .helpers.global_options import get_default_warning_days
|
||||
from .helpers.i18n import normalize_language
|
||||
from .helpers.schedule import KIND_WEEKDAYS, normalize_task_storage
|
||||
from .helpers.task_fields import TASK_PRIORITIES, WARNING_DAYS_RANGE
|
||||
from .helpers.task_fields import INTERVAL_DAYS_RANGE, TASK_PRIORITIES, WARNING_DAYS_RANGE
|
||||
from .templates import (
|
||||
TEMPLATE_CATEGORIES,
|
||||
ObjectTemplate,
|
||||
@@ -149,7 +149,9 @@ class MaintenanceSupporterConfigFlow(TriggerConfigMixin, ConfigFlow, domain=DOMA
|
||||
data_schema=vol.Schema(
|
||||
{
|
||||
vol.Optional(CONF_DEFAULT_WARNING_DAYS, default=DEFAULT_WARNING_DAYS): selector.NumberSelector(
|
||||
selector.NumberSelectorConfig(min=1, max=365, step=1, mode=selector.NumberSelectorMode.BOX)
|
||||
selector.NumberSelectorConfig(
|
||||
min=1, max=WARNING_DAYS_RANGE[1], step=1, mode=selector.NumberSelectorMode.BOX
|
||||
)
|
||||
),
|
||||
vol.Optional(CONF_NOTIFICATIONS_ENABLED, default=False): selector.BooleanSelector(),
|
||||
vol.Optional(CONF_NOTIFY_SERVICE, default=""): selector.SelectSelector(
|
||||
@@ -476,13 +478,27 @@ class MaintenanceSupporterConfigFlow(TriggerConfigMixin, ConfigFlow, domain=DOMA
|
||||
# the CSV/JSON import chokepoint (schedule-model v2).
|
||||
tasks[task_id] = normalize_task_storage(new_td)
|
||||
|
||||
return self.async_create_entry(
|
||||
title=object_name,
|
||||
data={
|
||||
CONF_OBJECT: obj_data,
|
||||
CONF_TASKS: tasks,
|
||||
},
|
||||
)
|
||||
# Spare parts: re-validate each imported definition through the same
|
||||
# normalizer the WS CRUD uses (bad entries are dropped, not fatal).
|
||||
parts_in = user_input.get("parts")
|
||||
parts: dict[str, dict[str, Any]] = {}
|
||||
if isinstance(parts_in, dict):
|
||||
from .helpers.parts import PartValidationError, normalize_part
|
||||
|
||||
for pid, praw in parts_in.items():
|
||||
try:
|
||||
part = normalize_part({**praw, "id": pid})
|
||||
except (PartValidationError, TypeError):
|
||||
continue
|
||||
parts[part["id"]] = part
|
||||
|
||||
data: dict[str, Any] = {
|
||||
CONF_OBJECT: obj_data,
|
||||
CONF_TASKS: tasks,
|
||||
}
|
||||
if parts:
|
||||
data["parts"] = parts
|
||||
return self.async_create_entry(title=object_name, data=data)
|
||||
|
||||
async def async_step_create_object(self, user_input: dict[str, Any] | None = None) -> ConfigFlowResult:
|
||||
"""Create a new maintenance object."""
|
||||
@@ -679,8 +695,8 @@ class MaintenanceSupporterConfigFlow(TriggerConfigMixin, ConfigFlow, domain=DOMA
|
||||
{
|
||||
vol.Required(CONF_TASK_INTERVAL_DAYS, default=DEFAULT_INTERVAL_DAYS): selector.NumberSelector(
|
||||
selector.NumberSelectorConfig(
|
||||
min=1,
|
||||
max=3650,
|
||||
min=INTERVAL_DAYS_RANGE[0],
|
||||
max=INTERVAL_DAYS_RANGE[1],
|
||||
step=1,
|
||||
mode=selector.NumberSelectorMode.BOX,
|
||||
)
|
||||
@@ -692,8 +708,8 @@ class MaintenanceSupporterConfigFlow(TriggerConfigMixin, ConfigFlow, domain=DOMA
|
||||
default=get_default_warning_days(self.hass),
|
||||
): selector.NumberSelector(
|
||||
selector.NumberSelectorConfig(
|
||||
min=0,
|
||||
max=365,
|
||||
min=WARNING_DAYS_RANGE[0],
|
||||
max=WARNING_DAYS_RANGE[1],
|
||||
step=1,
|
||||
mode=selector.NumberSelectorMode.BOX,
|
||||
)
|
||||
@@ -767,8 +783,8 @@ class MaintenanceSupporterConfigFlow(TriggerConfigMixin, ConfigFlow, domain=DOMA
|
||||
default=get_default_warning_days(self.hass),
|
||||
): selector.NumberSelector(
|
||||
selector.NumberSelectorConfig(
|
||||
min=0,
|
||||
max=365,
|
||||
min=WARNING_DAYS_RANGE[0],
|
||||
max=WARNING_DAYS_RANGE[1],
|
||||
step=1,
|
||||
mode=selector.NumberSelectorMode.BOX,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user