diff --git a/containers/backupchecks/src/backend/app/main/routes_settings.py b/containers/backupchecks/src/backend/app/main/routes_settings.py index 65aaeb6..f7e772c 100644 --- a/containers/backupchecks/src/backend/app/main/routes_settings.py +++ b/containers/backupchecks/src/backend/app/main/routes_settings.py @@ -482,7 +482,15 @@ def settings(): if "autotask_default_ticket_status" in request.form: try: - settings.autotask_default_ticket_status = int(request.form.get("autotask_default_ticket_status") or 0) or None + form_value = request.form.get("autotask_default_ticket_status", "").strip() + if form_value: # Only update if a value was actually selected + settings.autotask_default_ticket_status = int(form_value) + elif form_value == "" and settings.autotask_default_ticket_status is not None: + # If explicitly cleared (empty string submitted) and was previously set, + # allow clearing only if reference data is loaded (dropdown has options) + if getattr(settings, "autotask_cached_ticket_statuses_json", None): + settings.autotask_default_ticket_status = None + # Otherwise: keep existing value (prevents accidental clearing when dropdown is empty) except (ValueError, TypeError): pass