189 files
This commit is contained in:
@@ -41,12 +41,15 @@ from ..const import (
|
||||
CONF_DISABLED_TEMPLATE_IDS,
|
||||
CONF_INSTALL_ASSIST_SENTENCES,
|
||||
CONF_MAX_NOTIFICATIONS_PER_DAY,
|
||||
CONF_MEMBER_DISPLAY,
|
||||
CONF_NOTIFICATION_BUNDLE_THRESHOLD,
|
||||
CONF_NOTIFICATION_BUNDLING_ENABLED,
|
||||
CONF_NOTIFICATION_TITLE_STYLE,
|
||||
CONF_NOTIFICATIONS_ENABLED,
|
||||
CONF_NOTIFY_DUE_SOON_ENABLED,
|
||||
CONF_NOTIFY_DUE_SOON_INTERVAL,
|
||||
CONF_NOTIFY_EVENT_ONLY,
|
||||
CONF_NOTIFY_EXTRA_DATA,
|
||||
CONF_NOTIFY_OVERDUE_ENABLED,
|
||||
CONF_NOTIFY_OVERDUE_INTERVAL,
|
||||
CONF_NOTIFY_SCOPE_VIEW_ID,
|
||||
@@ -145,6 +148,8 @@ def _build_full_settings(
|
||||
"operator_write_enabled": options.get(CONF_OPERATOR_WRITE_ENABLED, False),
|
||||
# (#67): ordered objects-table columns for the panel All-Objects view.
|
||||
"objects_table_columns": options.get(CONF_OBJECTS_TABLE_COLUMNS, DEFAULT_OBJECTS_TABLE_COLUMNS),
|
||||
# #169 follow-up: per-member avatar overrides (initials / palette colour).
|
||||
"member_display": options.get(CONF_MEMBER_DISPLAY, {}),
|
||||
# v2.21: template-gallery curation (ids hidden from the pickers).
|
||||
"disabled_template_ids": options.get(CONF_DISABLED_TEMPLATE_IDS, []),
|
||||
# v2.10.0: archive automation thresholds (panel Settings → Archive).
|
||||
@@ -205,6 +210,10 @@ def _build_full_settings(
|
||||
# v2.26: notification routing — saved-view id scoping which
|
||||
# tasks may notify ("" = all tasks).
|
||||
"scope_view_id": options.get(CONF_NOTIFY_SCOPE_VIEW_ID, ""),
|
||||
# #165: your own notification rule — event-only delivery and the
|
||||
# extra-data template merged into every notify payload.
|
||||
"event_only": options.get(CONF_NOTIFY_EVENT_ONLY, False),
|
||||
"extra_data": options.get(CONF_NOTIFY_EXTRA_DATA, ""),
|
||||
},
|
||||
"actions": {
|
||||
"complete_enabled": options.get(CONF_ACTION_COMPLETE_ENABLED, False),
|
||||
@@ -716,6 +725,13 @@ def sanitize_settings_input(settings_input: dict[str, Any]) -> tuple[dict[str, A
|
||||
cols.append(v)
|
||||
filtered[CONF_OBJECTS_TABLE_COLUMNS] = cols or list(DEFAULT_OBJECTS_TABLE_COLUMNS)
|
||||
|
||||
# #169 follow-up: member avatars — initials capped, colours from the
|
||||
# palette only, empty entries dropped (an empty map clears every override).
|
||||
if CONF_MEMBER_DISPLAY in filtered:
|
||||
from ..helpers.member_display import sanitize_member_display
|
||||
|
||||
filtered[CONF_MEMBER_DISPLAY] = sanitize_member_display(filtered[CONF_MEMBER_DISPLAY])
|
||||
|
||||
# v2.21: disabled_template_ids — keep only ids of templates that actually
|
||||
# exist (a typo/stale id must not linger invisibly), dedupe.
|
||||
if CONF_DISABLED_TEMPLATE_IDS in filtered:
|
||||
|
||||
Reference in New Issue
Block a user