updated apps

This commit is contained in:
2026-07-14 23:57:03 -04:00
parent 6cc7212cef
commit 010e828e9c
797 changed files with 45153 additions and 4246 deletions
@@ -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,
)