feat(fusion_clock): native recurring shifts engine [A4-A5]

fusion.clock.schedule.recurrence (repeat every N day/week/month/year;
forever/until/N-times) re-fit from planning.recurrency onto per-day rows;
daily generation cron; _fclk_on_leave skip; planner Repeat…/Stop-repeat
UI + endpoints; recurrence + role indicators on cells.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-06-04 20:49:26 -04:00
parent b4ca85e291
commit 734b3b94fd
12 changed files with 591 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo noupdate="1">
<!-- Recurring Shift Generation: rolls every recurrence's horizon forward.
Odoo 19 dropped numbercall; an active recurring cron runs forever. -->
<record id="cron_generate_recurring_shifts" model="ir.cron">
<field name="name">Fusion Clock: Generate Recurring Shifts</field>
<field name="model_id" ref="fusion_clock.model_fusion_clock_schedule_recurrence"/>
<field name="state">code</field>
<field name="code">model._cron_generate()</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active">True</field>
<field name="priority">75</field>
</record>
</odoo>