mirror of
https://github.com/Sea-Haven-Industries/afterhours-shift-manager.git
synced 2026-09-30 21:53:11 +00:00
A user can no longer `/oncall drop` a shift inside the 24h window before it starts — inside that window coverage must be handed off via a verified swap (target accepts) or opened by an admin. - app.py: _within_drop_lock(date, shift_type) (24h before _shift_start); guard in _handle_drop after the ownership check. Admin `open` is a separate handler and is unaffected (bypasses the lock). - Removed the now-unreachable 3CX-repoint-on-drop branch: a same-day shift is always inside the lock, so a drop never reaches mark_open for today. - Help text + README note the 24h rule. - tests: rewritten test_handle_drop (outside/inside-24h per shift type, weekend day, admin bypass, plus the existing guard-precedence cases) and direct _shift_start/_shift_started/_within_drop_lock helper tests. 185 passed. Closes #84 |
||
|---|---|---|
| .. | ||
| conftest.py | ||
| test_handle_admin.py | ||
| test_handle_drop.py | ||
| test_handle_pick.py | ||
| test_handle_register_rate.py | ||
| test_handle_swap.py | ||
| test_helpers.py | ||
| test_parse_date.py | ||
| test_pickup_button.py | ||
| test_swap_accept_decline.py | ||