Files
Odoo-Modules/fusion_clock/security/ir.model.access.csv
gsinghpal f7ec1e28f9 feat(fusion_clock): province-aware automatic unpaid break (2-tier)
Statutory unpaid break now deducts automatically from worked hours on every path - portal, kiosk, NFC, auto-clock-out cron, AND manual backend entry.

- new fusion.clock.break.rule per-province table (seed Ontario 5h->30, 10h->+30), resolved from the employee's company province with a global default fallback
- x_fclk_break_minutes is now a single idempotent stored compute (statutory(worked_hours) + penalties), replacing the 4 duplicated write sites (_apply_break_deduction x3 callsites + auto-clock-out cron + penalty write)
- retire break_threshold_hours (superseded by per-rule break1_after_hours); post-migrate drops the param and recomputes historical breaks
- 11 tests all green; module install + 19.0.4.1.0 migration verified on modsdev

Bump 19.0.4.0.3 -> 19.0.4.1.0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 00:15:42 -04:00

3.7 KiB

1idnamemodel_id:idgroup_id:idperm_readperm_writeperm_createperm_unlink
2access_fusion_clock_location_userfusion.clock.location.usermodel_fusion_clock_locationgroup_fusion_clock_user1000
3access_fusion_clock_location_managerfusion.clock.location.managermodel_fusion_clock_locationgroup_fusion_clock_manager1111
4access_fusion_clock_penalty_userfusion.clock.penalty.usermodel_fusion_clock_penaltygroup_fusion_clock_user1000
5access_fusion_clock_penalty_managerfusion.clock.penalty.managermodel_fusion_clock_penaltygroup_fusion_clock_manager1111
6access_fusion_clock_report_userfusion.clock.report.usermodel_fusion_clock_reportgroup_fusion_clock_user1000
7access_fusion_clock_report_managerfusion.clock.report.managermodel_fusion_clock_reportgroup_fusion_clock_manager1111
8access_fusion_clock_activity_log_userfusion.clock.activity.log.usermodel_fusion_clock_activity_loggroup_fusion_clock_user1000
9access_fusion_clock_activity_log_managerfusion.clock.activity.log.managermodel_fusion_clock_activity_loggroup_fusion_clock_manager1111
10access_fusion_clock_leave_request_userfusion.clock.leave.request.usermodel_fusion_clock_leave_requestgroup_fusion_clock_user1000
11access_fusion_clock_leave_request_managerfusion.clock.leave.request.managermodel_fusion_clock_leave_requestgroup_fusion_clock_manager1111
12access_fusion_clock_shift_userfusion.clock.shift.usermodel_fusion_clock_shiftgroup_fusion_clock_user1000
13access_fusion_clock_shift_managerfusion.clock.shift.managermodel_fusion_clock_shiftgroup_fusion_clock_manager1111
14access_fusion_clock_schedule_userfusion.clock.schedule.usermodel_fusion_clock_schedulegroup_fusion_clock_user1000
15access_fusion_clock_schedule_managerfusion.clock.schedule.managermodel_fusion_clock_schedulegroup_fusion_clock_manager1111
16access_fusion_clock_schedule_audit_managerfusion.clock.schedule.audit.managermodel_fusion_clock_schedule_auditgroup_fusion_clock_manager1000
17access_fusion_clock_correction_userfusion.clock.correction.usermodel_fusion_clock_correctiongroup_fusion_clock_user1000
18access_fusion_clock_correction_managerfusion.clock.correction.managermodel_fusion_clock_correctiongroup_fusion_clock_manager1111
19access_fusion_clock_location_portalfusion.clock.location.portalmodel_fusion_clock_locationbase.group_portal1000
20access_fusion_clock_penalty_portalfusion.clock.penalty.portalmodel_fusion_clock_penaltybase.group_portal1000
21access_fusion_clock_report_portalfusion.clock.report.portalmodel_fusion_clock_reportbase.group_portal1000
22access_fusion_clock_activity_log_portalfusion.clock.activity.log.portalmodel_fusion_clock_activity_logbase.group_portal1000
23access_fusion_clock_leave_request_portalfusion.clock.leave.request.portalmodel_fusion_clock_leave_requestbase.group_portal1000
24access_fusion_clock_correction_portalfusion.clock.correction.portalmodel_fusion_clock_correctionbase.group_portal1000
25access_hr_attendance_portalhr.attendance.portalhr_attendance.model_hr_attendancebase.group_portal1000
26access_hr_employee_portal_clockhr.employee.portal.clockhr.model_hr_employeebase.group_portal1000
27access_fusion_clock_shift_portalfusion.clock.shift.portalmodel_fusion_clock_shiftbase.group_portal1000
28access_fusion_clock_schedule_portalfusion.clock.schedule.portalmodel_fusion_clock_schedulebase.group_portal1000
29access_fusion_clock_nfc_enrollment_wizard_managerfusion.clock.nfc.enrollment.wizard.managermodel_fusion_clock_nfc_enrollment_wizardgroup_fusion_clock_manager1111
30access_fusion_clock_break_rule_managerfusion.clock.break.rule.managermodel_fusion_clock_break_rulegroup_fusion_clock_manager1111