Commit Graph

16 Commits

Author SHA1 Message Date
Ross eb95f5fa6d . 2025-12-09 11:55:00 +00:00
Ross 4a8c478a73 Add allow_self option to PostShiftConstraint and PreShiftConstraint for flexible shift assignment 2025-12-08 17:47:19 +00:00
Ross 3f4d8068eb Add max days per week block constraint and exclude days for shift constraints 2025-09-18 21:00:31 +01:00
Ross fdce572f6d Fix weekend shift initial extraction and update worker start/end dates for leave requests 2025-09-18 20:14:23 +01:00
Ross 331d57dd8f Enhance leave request handling and improve error logging in RotaBuilder 2025-09-17 22:25:28 +01:00
Ross e1aec5011c Add option to allow force assignment with leave conflict in RotaBuilder 2025-09-17 21:35:52 +01:00
Ross 47bfb16891 Refactor logging implementation to use Loguru for improved logging management and add warnings for unknown leave values and worker site validation. 2025-09-17 21:21:23 +01:00
Ross 3b3d432694 Refactor RotaBuilder export functionality and enhance display of run times with improved layout 2025-08-11 16:31:27 +01:00
Ross b72d33189c Add ignore_shifts parameter to PostShiftConstraint and PreShiftConstraint 2025-08-11 13:56:43 +01:00
Ross 76f3b48c1d Refactor shift constraints in tests to use new constraint classes
- Updated test cases in `test_workers.py` to replace dictionary-based constraints with instances of `PreShiftConstraint`, `PostShiftConstraint`, and `MaxShiftsPerWeekConstraint`.
- Added a new test `test_worker_assign_as_block_preference2` to verify worker preferences for block assignments.
- Marked tests as slow where appropriate to improve test suite performance.
2025-08-11 13:03:08 +01:00
Ross d7bcfce78c Implement hard day exclusions for workers and add corresponding tests 2025-08-10 22:00:31 +01:00
Ross 48710f50e8 Enhance Rota Management System
- Updated .gitignore to exclude 'cons/' directory.
- Refactored gen_cons.py to extract leave and rota assignments from calendar data, and added functionality to handle shift assignments from rota data.
- Modified timetable.css to include styles for force-assigned shifts.
- Enhanced shifts.py to manage forced assignments and handle leave conflicts, including new methods for date-based assignments.
- Updated workers.py to introduce structured hard day dependencies and exclusions, allowing for more flexible scheduling.
- Adjusted test_workers.py to reflect changes in hard day dependency and exclusion methods, ensuring compatibility with new data structures.
2025-08-09 22:11:39 +01:00
Ross cf48c3c168 latest rotas 2025-07-07 17:49:21 +01:00
Ross 82bc624a33 a few more fixes and improvements 2025-06-22 11:48:33 +01:00
Ross d7e5f9e5f1 numerous improvemts 2025-06-08 14:00:15 +01:00
Ross b9ca76aea1 update rota 2025-06-05 23:40:17 +01:00