Ross
d577b2cdf8
feat: add time limit parsing function and update time_to_run parameter to accept string inputs
2026-07-14 22:00:26 +01:00
Ross
0874f05126
feat: add "ir nights" to the list of sites
2026-07-14 21:52:39 +01:00
Ross
6ca3db86cb
add prtial shifts
2026-07-14 21:38:59 +01:00
Ross
96e6a0d625
feat: update CSV URL in load_leave and load_academy functions
2026-07-14 21:05:20 +01:00
Ross
fc2413538c
feat: add TODO to update time_to_run for string input conversion to seconds
2026-07-14 21:03:33 +01:00
Ross
5ff78faa07
feat: implement sub-block handling for shifts and update constraints in RotaBuilder
2026-07-10 08:08:51 +01:00
Ross
d1fbbe2dc9
feat: add condition to check for week-day combinations before adding constraints in RotaBuilder
2026-07-09 22:39:38 +01:00
Ross
b5525bd3fb
feat: add group management for workers and shifts, including validation for overlapping groups
2026-07-09 22:14:30 +01:00
Ross
33f50c7278
feat: adjust max days per week block constraint from 4 to 3
2026-07-09 21:32:26 +01:00
Ross
981cc314f0
feat: update worker shift conditions for specific email addresses
2026-07-09 20:49:44 +01:00
Ross
0861e371e9
feat: update weeks parameter to 26 and adjust constraint options in RotaBuilder
2026-07-09 12:06:20 +01:00
Ross
13c5ae598a
feat: add exact shifts display in worker details and update HTML export functionality
2026-07-08 22:38:38 +01:00
Ross
0f31dfe1a9
feat: add exact shifts functionality to Worker class and update related logic in RotaBuilder
2026-07-08 22:33:33 +01:00
Ross
02598cb665
refactor: update default parameters and improve CSV download links in gen_proc and leave modules
2026-07-08 21:34:13 +01:00
Ross
09c8124cdd
add workers check
2026-06-03 20:38:10 +01:00
Ross
2949327d39
match cons export format
2026-06-03 20:29:33 +01:00
Ross
ea68885ff3
start rota export in grid format
2026-06-03 20:15:34 +01:00
Ross
e288585cd3
feat: add max days per week block constraint to Worker class
...
- Introduced a new method `add_max_days_per_week_block_constraint` to the Worker class.
- This method allows for the addition of constraints that limit the number of days a worker can be assigned within a specified sliding block of weeks.
- The method accepts parameters for maximum days, the week block size, and optional dates to ignore.
2026-06-02 13:50:31 +01:00
Ross
4cad1158c6
use cons sync view
2026-05-20 21:12:42 +01:00
Ross
4bb4f5b97a
Refactor total shifts calculation in generateExtra and worker row processing for improved clarity and error handling
2026-05-19 15:33:37 +01:00
Ross
d741d7e23c
Update shift configurations and parameters in RotaBuilder for enhanced scheduling
2026-01-07 22:28:58 +00:00
Ross
64c4189d5f
Add functionality to handle missing shifts in RotaBuilder and include worker grades in the timetable
2026-01-07 22:14:43 +00:00
Ross
277f14747a
Increase max_number in LimitGradeNumberConstraint from 1 to 2 for better shift allocation and add internal leave removal functionality
2026-01-07 21:58:50 +00:00
Ross
e637c5ac60
Increase max_shifts in MaxShiftsPerWeekConstraint from 1 to 2 for improved scheduling flexibility
2026-01-07 20:59:37 +00:00
Ross
c71ae4285a
Change weekend_shift_target_number type from int to float for improved precision
2026-01-07 20:38:21 +00:00
Ross
c248e67304
Refactor site title rendering in RotaBuilder to improve clarity and consistency in timetable display
2026-01-07 20:37:04 +00:00
Ross
628114ad91
Refactor timetable and shifts generation to ensure proper HTML structure with sticky headers
2026-01-07 20:26:18 +00:00
Ross
f8c6e38841
Add sticky header styles and improve visibility for timetable display
2026-01-07 20:10:18 +00:00
Ross
d66ddf29ad
Add support for avoiding shifts on specific dates with reasons
2026-01-05 22:07:23 +00:00
Ross
e6bdd4a09e
Add support for avoiding shifts on specific dates for workers
...
- Introduced AvoidShiftOnDates model to define constraints for workers.
- Enhanced Worker class to register avoid-shift rules with the rota builder.
- Implemented logic in RotaBuilder to enforce these constraints during shift assignment.
- Added tests to verify functionality for avoiding shifts on single dates and date ranges.
2026-01-05 21:44:34 +00:00
Ross
62e48ef205
Improve date parsing in OOP handling to support additional formats and enhance error reporting.
2026-01-05 20:03:41 +00:00
Ross
b98c28401f
Enhance error handling in leave loading and update date parsing logic; add new site preference for Exeter shifts.
2026-01-05 20:01:41 +00:00
Ross
94b921192f
Refactor gen.py and gen_proc.py to improve shift handling and add constraints; update leave.py to fetch new leave data source.
2026-01-05 17:46:33 +00:00
Ross
1bae1246f9
Update rota configuration for February 2026 and refine shift constraints handling
2025-12-18 22:06:31 +00:00
Ross
3ba4467812
.
2025-12-17 14:12:58 +00:00
Ross
9d187dfa75
Refactor weekend day balancing logic by commenting out unused option and storing adjusted targets on worker objects
2025-12-17 12:39:11 +00:00
Ross
a54b5db5d2
Enhance weekend shift balancing by adding quadratic penalty and adjusting deviation handling
2025-12-17 12:24:26 +00:00
Ross
0851b992fb
Enhance weekend shift handling by adding per-day adjustments and improving prior allocation parsing
2025-12-17 12:13:56 +00:00
Ross
710a2aa7c8
Add weekend shift adjustment calculations and update worker summary display
2025-12-17 11:44:13 +00:00
Ross
a347ad7777
.
2025-12-17 11:27:16 +00:00
Ross
bf3b685923
Add prior adjustments summary to worker display and enhance data attributes
2025-12-17 11:09:33 +00:00
Ross
378caf63ff
.
2025-12-17 10:56:21 +00:00
Ross
83444ac402
Add weekend day balancing options and summary counts for shifts
2025-12-17 10:43:37 +00:00
Ross
81b2c85d61
Add exclude_dates option to PreShiftConstraint and PostShiftConstraint
2025-12-17 09:19:45 +00:00
Ross
108bb572a7
Enhance hard day dependency handling with ignore dates and improve warning visibility
2025-12-16 22:41:43 +00:00
Ross
51ed25d04c
Add warning for forced assignments in HardDayDependency
2025-12-16 22:35:21 +00:00
Ross
8e580440e0
.
2025-12-16 21:34:11 +00:00
Ross
0b732a0b09
start updating cons rota
2025-12-16 20:58:09 +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
7cd2cec65c
Add toggle for showing shift names and button to remove shift colours in timetable
2025-08-12 11:53:11 +01:00
Ross
d55b1d38ea
Add worker checkboxes and help text to shift timetable for improved usability
2025-08-12 11:43:53 +01:00
Ross
0599586f47
Add worker filter input to shift timetable and update rendering logic
2025-08-12 11:20:51 +01:00
Ross
f31a54d512
Refactor renderShiftTimetable to enhance list view with date, week, and day headers, and improve worker assignment display with color coding for selected shifts.
2025-08-12 11:19:21 +01:00
Ross
7b16f8d82a
Add shift selection toggle and help text to timetable options
2025-08-12 10:28:08 +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
45837597d9
Add color coding for selected shifts in timetable and update button styles
2025-08-11 14:16: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
6bd47ba5b4
Add forced shift assignment functionality for workers and update tests
2025-08-08 08:23:42 +01:00
Ross
cf48c3c168
latest rotas
2025-07-07 17:49:21 +01:00
Ross
adccf8211c
fix min summed shifts
2025-06-30 09:23:33 +01:00
Ross
48d6b748d1
fix the weekend count for multishits
2025-06-22 22:34:05 +01:00
Ross
2443ac285b
fix a few more things
2025-06-22 22:20:52 +01:00
Ross
82bc624a33
a few more fixes and improvements
2025-06-22 11:48:33 +01:00
Ross
8402cc92fd
fix bug with pre / post shift constraints
2025-06-22 10:53:17 +01:00
Ross
fc3102ec47
numberous fixes and improvements
2025-06-22 09:38:03 +01:00
Ross
06a551bb68
a lot of changes
2025-06-21 11:45:58 +01:00
Ross
e15cc6ee51
rewrite test
2025-06-08 14:25:30 +01:00
Ross
d7e5f9e5f1
numerous improvemts
2025-06-08 14:00:15 +01:00
Ross
ad75b6b8b5
fix multishifts
2025-06-07 13:02:45 +01:00
Ross
b81570f457
basic multishift per day assignement
2025-06-06 22:36:58 +01:00
Ross
a647416720
major test refactoring
2025-06-05 23:40:28 +01:00
Ross
b9ca76aea1
update rota
2025-06-05 23:40:17 +01:00
Ross
e46c24df88
add custom display char for shift
2025-06-05 21:59:26 +01:00
Ross
242a664f49
...
2025-01-25 08:49:14 +00:00
Ross
8459a4b3a9
start adding locum availability
2025-01-20 10:56:47 +00:00
Ross
7ce4677921
add worker requirements
2025-01-01 21:58:48 +00:00
Ross
9af01a3415
fix shift solver (objective didn't seem to be used)
2024-12-31 22:51:26 +00:00
Ross
f0b9ee0ebc
start working on shift paring balancing
2024-12-26 16:39:04 +00:00
Ross
1ed5f4fbcd
work towards paring of shifts
2024-12-24 10:41:46 +00:00
Ross
70dc279a02
update from last round
2024-12-23 16:56:53 +00:00
Ross
51b4e89601
update requirements (removing fastapi)
2024-12-23 16:56:32 +00:00
Ross
44c21e3c6a
update gen.py
2024-01-07 17:52:44 +00:00
Ross
a7e1fa7171
numberous fixes
2024-01-07 17:52:36 +00:00
Ross
5d55ed77a8
update for current rota
2024-01-01 14:56:48 +00:00
Ross
8c28e7155a
update for latest proc run
2023-12-27 19:15:00 +00:00
Ross
3d064a75b9
add shift worker names constraint
2023-12-27 19:12:08 +00:00
Ross
740836e31a
add limit
2023-12-27 17:55:54 +00:00
Ross
7235b05840
.
2023-06-22 22:02:13 +01:00
Ross
97b3d938bb
.
2023-06-22 21:02:18 +01:00
Ross
e0d87b71a8
.
2023-06-22 20:58:40 +01:00
Ross
cbbdc8d318
.
2023-06-22 20:56:19 +01:00
Ross
beda17c7e8
.
2023-06-19 17:28:44 +01:00