mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-01-10 05:30:08 -06:00
Implements comprehensive bulk operations and export functionality for tasks, clients, and projects with consistent UI/UX across all three entities. Features Added: - Bulk task operations (delete, status change, assignment, move to project) - Multi-select checkboxes with "select all" functionality - CSV export for tasks, clients, and projects - Export respects current filters and permissions - Modal dialogs for bulk operation confirmation Bug Fixes: - Fixed bulk delete not working due to dialog submission issue - Fixed dropdown menus being cut off in short tables (z-index and overflow) - Fixed projects export attempting to access .name on string property Technical Details: - Backend: Added 5 new routes (tasks bulk ops, 3 export routes) - Frontend: Updated task/client/project list templates with consistent UI - Tests: Added 23 comprehensive tests for bulk operations - Changed table overflow from overflow-x-auto to overflow-visible - Added z-50 to all dropdown menus for proper layering Routes Added: - POST /tasks/bulk-delete - POST /tasks/bulk-status - POST /tasks/bulk-assign - POST /tasks/bulk-move-project - GET /tasks/export - GET /clients/export - GET /projects/export Files Changed: - app/routes/tasks.py (+103 lines) - app/routes/clients.py (+73 lines) - app/routes/projects.py (+95 lines) - app/templates/tasks/list.html (major refactor) - app/templates/clients/list.html (+export, overflow fix) - app/templates/projects/list.html (+export fix, overflow fix) - tests/test_bulk_task_operations.py (NEW, 23 tests) - docs/BULK_TASK_OPERATIONS.md (NEW) - BULK_TASK_OPERATIONS_IMPLEMENTATION.md (NEW) - BUGFIXES_BULK_OPERATIONS.md (NEW) - BUGFIXES_CONSISTENCY_AND_EXPORT.md (NEW) Breaking Changes: None Migration Required: None