Commit Graph

7 Commits

Author SHA1 Message Date
Dries Peeters 90dde470da style: standardize code formatting and normalize line endings
- Normalize line endings from CRLF to LF across all files to match .editorconfig
- Standardize quote style from single quotes to double quotes
- Normalize whitespace and formatting throughout codebase
- Apply consistent code style across 372 files including:
  * Application code (models, routes, services, utils)
  * Test files
  * Configuration files
  * CI/CD workflows

This ensures consistency with the project's .editorconfig settings and
improves code maintainability.
2025-11-28 20:05:37 +01:00
Dries Peeters 70d9dad4f3 Big testing update 2025-11-14 12:08:50 +01:00
Dries Peeters f8b7afa6c2 Update test_timezone.py 2025-11-12 09:36:44 +01:00
Dries Peeters 14ae197266 Improve timezone handling for system and personal preferences
- share a centralized timezone list across admin and user settings
- allow admins to pick from the same list when setting the system default
- let users clear their personal override to fall back to the global default
- add regression tests covering the new helper and reset path
2025-11-11 14:04:39 +01:00
Dries Peeters 1e11ffec7f Fix keyboard shortcuts triggering in text input fields
- Fix keyboard shortcuts (like 'g r' for Go to Reports) incorrectly triggering
  while typing in input fields, textareas, and rich text editors
- Enhance detection for popular rich text editors:
  * Toast UI Editor (used in project descriptions)
  * TinyMCE, Quill, CodeMirror, Summernote
  * All contenteditable elements
- Allow specific global shortcuts even in input fields:
  * Ctrl+K / Cmd+K: Open command palette
  * Shift+?: Show keyboard shortcuts help
  * Ctrl+/: Focus search
- Clear key sequences when user starts typing to prevent partial matches
- Add debug logging for troubleshooting keyboard shortcut issues
- Update JavaScript cache busting version numbers (v=2.0, v=2.2)

Test improvements:
- Add comprehensive test suite for keyboard shortcuts input fix
  * Test typing 'gr' in 'program' doesn't trigger navigation
  * Test rich text editor detection logic
  * Test allowed shortcuts in inputs
- Refactor smoke tests to use admin_authenticated_client fixture
  instead of manual login (DRY principle)
- Fix Windows PermissionError in test cleanup for temporary files
- Add SESSION_COOKIE_HTTPONLY to test config for security
- Update test secret key length to meet requirements
- Remove duplicate admin user fixtures

Resolves issue where typing words like 'program' or 'graphics' in forms
would trigger unintended navigation shortcuts.
2025-10-29 18:17:04 +01:00
Dries Peeters 113a57d2eb testing updates 2025-10-10 11:37:23 +02:00
Dries Peeters 1b3a703c04 feat: comprehensive project cleanup and timezone enhancement
- Remove redundant documentation files (DATABASE_INIT_FIX_*.md, TIMEZONE_FIX_README.md)
- Delete unused Docker files (Dockerfile.test, Dockerfile.combined, docker-compose.yml)
- Remove obsolete deployment scripts (deploy.sh) and unused files (index.html, _config.yml)
- Clean up logs directory (remove 2MB timetracker.log, keep .gitkeep)
- Remove .pytest_cache directory

- Consolidate Docker setup to two main container types:
  * Simple container (recommended for production)
  * Public container (for development/testing)

- Enhance timezone support in admin settings:
  * Add 100+ timezone options organized by region
  * Implement real-time timezone preview with current time display
  * Add timezone offset calculation and display
  * Remove search functionality for cleaner interface
  * Update timezone utility functions for database-driven configuration

- Update documentation:
  * Revise README.md to reflect current project state
  * Add comprehensive timezone features documentation
  * Update Docker deployment instructions
  * Create PROJECT_STRUCTURE.md for project overview
  * Remove references to deleted files

- Improve project structure:
  * Streamlined file organization
  * Better maintainability and focus
  * Preserved all essential functionality
  * Cleaner deployment options
2025-08-28 14:52:09 +02:00