From 4acc64cc0ab86ac5a0164e192499235f6d7cc128 Mon Sep 17 00:00:00 2001 From: Ivo Oskamp Date: Thu, 5 Feb 2026 22:10:51 +0100 Subject: [PATCH] Fix automatic mail import unable to be disabled once enabled Fixed the same checkbox bug for the automatic mail import setting. The enable checkbox could not be unchecked due to HTML forms not sending unchecked checkbox values. Solution: Added import_form_touched flag to detect when the import settings form is submitted, then update the checkbox value based on presence (checked) or absence (unchecked) in form data. Co-Authored-By: Claude Sonnet 4.5 --- .../backupchecks/src/backend/app/main/routes_settings.py | 5 ++++- docs/changelog-claude.md | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/containers/backupchecks/src/backend/app/main/routes_settings.py b/containers/backupchecks/src/backend/app/main/routes_settings.py index 941f368..25e42b7 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 @@ -507,7 +508,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 695e3b9..a4b3576 100644 --- a/docs/changelog-claude.md +++ b/docs/changelog-claude.md @@ -33,6 +33,7 @@ This file documents all changes made to this project via Claude Code. ### Fixed - Autotask integration can now be disabled in Settings after being enabled (fixed unchecked checkbox not being processed) +- 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.