6 Commits

Author SHA1 Message Date
gsinghpal
6c6a59ceef feat(fusion_planning): add Employee Roles editor under Planning > Configuration
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>
2026-05-07 08:04:23 -04:00
gsinghpal
b7817b752c feat(fusion_planning): hide Role field from Add Shift dialog
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>
2026-05-07 07:52:13 -04:00
gsinghpal
d5e954d45c feat(fusion_planning): auto-publish new shifts + bulk-assign to many employees
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>
2026-05-06 23:08:04 -04:00
gsinghpal
2ba9b9d03d style(fusion_planning): widen portal nav item gap by 20% (16->19px)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 22:37:39 -04:00
gsinghpal
028c71452d chore(fusion_planning): bump version to bust asset bundle cache
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>
2026-05-06 22:33:25 -04:00
gsinghpal
19c1cbdf15 feat(fusion_planning): new module bridging fusion_clock with Odoo Planning
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>
2026-05-06 22:16:02 -04:00