Implement timezone-aware datetime display across all pages
All datetime fields now automatically convert from UTC (database storage)
to the configured UI timezone (Settings > General > UI Timezone) for display.
Changes:
- Added local_datetime Jinja2 template filter in app/__init__.py
- Converts UTC datetime to UI timezone using zoneinfo.ZoneInfo
- Accepts optional strftime format parameter (default: '%Y-%m-%d %H:%M:%S')
- Returns empty string for None values
- Falls back to UTC display if conversion fails
- Updated all datetime displays across 15+ templates:
- customers.html: autotask_last_sync_at
- settings.html: autotask_last_sync_at
- feedback.html, feedback_detail.html: created_at, updated_at, resolved_at
- logging.html: created_at
- overrides.html: start_at, end_at
- archived_jobs.html: archived_at
- tickets.html, ticket_detail.html: resolved_at, run_at
- inbox.html, inbox_deleted.html, admin_all_mail.html: received_at, parsed_at, deleted_at
- job_detail.html: run_at, reviewed_at
- remark_detail.html: run_at
- settings_news_reads.html: read_at
- Database values remain in UTC for consistency
- Default timezone: Europe/Amsterdam (configurable via SystemSettings.ui_timezone)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>