diff --git a/containers/backupchecks/src/backend/app/main/routes_settings.py b/containers/backupchecks/src/backend/app/main/routes_settings.py index 189fa7d..af9f86a 100644 --- a/containers/backupchecks/src/backend/app/main/routes_settings.py +++ b/containers/backupchecks/src/backend/app/main/routes_settings.py @@ -408,6 +408,7 @@ def settings(): if request.method == "POST": autotask_form_touched = any(str(k).startswith("autotask_") for k in (request.form or {}).keys()) + import_form_touched = any(str(k).startswith("auto_import_") or str(k).startswith("manual_import_") or str(k).startswith("ingest_eml_") for k in (request.form or {}).keys()) # NOTE: The Settings UI has multiple tabs with separate forms. # Only update values that are present in the submitted form, to avoid @@ -505,7 +506,9 @@ def settings(): settings.daily_jobs_start_date = None # Import configuration - if "auto_import_enabled" in request.form: + # Checkbox: only update when any import field is present (form was submitted) + # Unchecked checkboxes are not sent by browsers, so check import_form_touched + if import_form_touched: settings.auto_import_enabled = bool(request.form.get("auto_import_enabled")) if "auto_import_interval_minutes" in request.form: diff --git a/docs/changelog-claude.md b/docs/changelog-claude.md index d8fe517..3b80360 100644 --- a/docs/changelog-claude.md +++ b/docs/changelog-claude.md @@ -32,6 +32,7 @@ This file documents all changes made to this project via Claude Code. - If time entries exist: keeps current status unchanged (ticket remains open) ### Fixed +- Automatic mail import can now be disabled in Settings after being enabled (fixed unchecked checkbox not being processed) - Autotask "Link existing" search box now clears when opening the modal instead of retaining previous search text - Autotask customer mapping search box now clears when opening the edit modal instead of retaining previous search text - Autotask ticket resolution update now correctly preserves exact field values from GET response in PUT payload.