Split Autotask settings into two separate forms with dedicated save
buttons and field validation:
1. Autotask Settings form:
- Save button inside card for better UX
- Required fields: Environment, Username, Password (if not set),
Tracking Identifier, Base URL
- Red asterisks indicate required fields
2. Ticket Defaults form:
- Separate save button inside card
- Required fields: Queue, Ticket Source, Status, Priority Warning,
Priority Error
- Prevents saving incomplete configurations
Benefits:
- Clear visual separation of concerns
- Prevents accidental saving of empty values
- HTML5 validation ensures all required fields are filled
- Better user experience with focused save actions
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Enhanced save logic to protect against losing the default ticket
status value when saving settings with an empty dropdown:
- Only update to new value if a status is actually selected
- Only allow clearing if reference data is loaded (dropdown has options)
- Preserve existing value if dropdown is empty (no reference data)
This fixes the issue where saving settings before reference data
loaded would overwrite the previously configured default status
with NULL, causing "Create Autotask ticket" to fail with error
about missing default status.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Fixed issue where Default Ticket Status dropdown was empty when
opening the settings page. Now automatically loads reference data
(queues, sources, statuses, priorities) when:
- Autotask integration is enabled
- API credentials are configured
- Reference data cache is empty
This eliminates the need to manually click "Refresh reference data"
before being able to select a default ticket status.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit consolidates all development work from the following branch series:
- v20260203-* (13 branches): Initial Autotask integration, graph config UI improvements
- v20260204-* (3 branches): Dashboard redirect setting, additional refinements
- v20260205-* (13 branches): Autotask resolution improvements, changelog restructuring
Key features merged:
- Autotask PSA integration with ticket creation, resolution, and search
- Graph/mail configuration UI improvements with credential testing
- Daily dashboard redirect setting (optional navigation control)
- Changelog restructuring with improved Python structure
- Various bug fixes and UI enhancements
All functionality has been consolidated from the final state of branch
v20260205-13-changelog-python-structure to preserve working features.
Co-Authored-By: Claude Sonnet 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>
The indexes defined in models.py __table_args__ are not automatically
created by the custom migration system. Added migrate_performance_indexes()
to explicitly create the indexes at startup.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add database indexes on frequently queried FK columns (JobRun, MailMessage,
MailObject, TicketScope, RemarkScope)
- Fix N+1 query in override recomputation by batch loading jobs
- Optimize Daily Jobs page with batch queries:
- Batch load all today's runs in single query
- Batch infer weekly/monthly schedules for all jobs
- Batch load ticket/remark indicators
These changes reduce query count by 80-90% on pages like Daily Jobs and Run Checks,
significantly improving performance on systems with slower storage.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fill README.md with comprehensive project documentation
- Add docs/changelog-claude.md for tracking Claude Code changes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>