Tickets may have issueType, subIssueType, and source fields with value 0 or null
(meaning 'not set'). The previous validation incorrectly required these fields
to have non-null values, causing "required fields are missing" errors.
Now only id and status are required. Other stabilising fields are copied to the
PUT payload when present in the GET response, preserving current values (including 0).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Restored from branch v20260203-13-autotask-resolution-item-wrapper with
the following functionality:
- Autotask REST API client with support for tickets, notes, companies,
and reference data (queues, sources, priorities, statuses)
- Safe ticket updates preserving stabilizing fields per API contract
- Database models for Autotask settings, customer mapping, and ticket linkage
- Settings UI for Autotask configuration with connection test
- Run Checks integration for ticket creation
- Customers page with Autotask company mapping
- Ticket linking during mail import
Also preserved the require_daily_dashboard_visit setting from the
current branch.
Added docs/autotask_rest_api.md with validated API contract from Postman tests.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Added a new setting in Settings > General > Navigation that allows
administrators to control whether users are redirected to the dashboard
on their first page view each day.
Changes:
- Added require_daily_dashboard_visit column to SystemSettings model
- Added migration for the new column (default: FALSE)
- Modified before_request hook to check the setting before redirecting
- Added Navigation card with toggle in Settings General page
- Restored changelog-claude.md with performance and feature updates
Default is OFF - users can navigate directly to any page without
being forced to visit the dashboard first.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>