New menu "Planning > Configuration > Employee Roles" opens an editable
list of all active employees with two columns made for fast bulk
assignment:
- Default Role (m2o, fills new shifts automatically)
- All Allowed Roles (m2m tags, controls open-shift visibility)
Per-row inline editing with multi_edit enabled, grouped by department.
No wizard, no popup — set role per employee in one screen and move on.
Visible to planning.group_planning_manager.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Role is still auto-pulled from the employee's Default Role on the
employee profile (planning.slot._compute_role_id reads
resource_id.default_role_id). Hiding the manual Role field declutters
the Add Shift dialog so the manager doesn't have to think about it on
each shift.
If a shift needs a one-off role override, an admin can still set it
via the backend list view or by editing the resource's default role.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two manager-side time savers on the Add Shift dialog:
1. Auto-publish on create
Override planning.slot.create() to default state='published' for
every new shift (was: 'draft', requiring a separate Publish step
per slot — painful with recurrence which can generate dozens at
a time). Recurrency-generated copies inherit the parent slot's
state, so a single recurring shift now publishes the whole series
in one save. Manager can still pass state='draft' explicitly to
opt out.
2. Apply Also To (multi-resource bulk create)
New x_fc_additional_resource_ids m2m on planning.slot. When set,
create() splits the vals into one slot per additional resource
(deduped against the primary). Combined with recurrence, picking
N employees and a date range now creates the full N x M shift
matrix in a single Save instead of N manual repeats.
Field appears in the Add Shift dialog under Role, hidden once
the slot is saved (it's a create-time helper, not ongoing data),
and gated to planning.group_planning_manager.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Earlier nav-spacing CSS fix didn't bust the bundle hash because the
file's content alone determines the hash and the previous deploy
extracted into the wrong path so the CSS file on the server never
actually changed. After fixing the deploy and upgrading, bumping the
version + clearing ir_attachment forces a fresh bundle URL.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Previous CSS used flex:1 which stretched the 4 nav items across the
full viewport width, leaving big gaps between them on wider screens.
Reverted to the original centered layout and tightened per-item padding
from 24px to 16px so all 4 fit cleanly without stretching.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a 'My Schedule' tab to the Fusion Clock portal that lists the current
employee's published planning.slot records, grouped by day. Reuses the
fusion_clock dark theme and reuses Odoo Planning's stock backend UI
(Gantt, send wizard, recurrence) unchanged.
- Controller /my/clock/schedule: pulls published slots in next 60 days
- Portal template with next-shift hero card, summary stats, grouped list
- Bottom-nav xpath inherits target the nav bar specifically (not the
Recent Activity 'View All' link, which also linked to /my/clock/timesheets)
- 4-tab nav fits via reduced padding and flex sizing
Module depends on stock 'planning' (Enterprise) + fusion_clock.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>