Commit Graph

9 Commits

Author SHA1 Message Date
7f467600e9 feat(auth): enforce strict branch scoping for branch-assigned HR and staff accounts
- Introduce authBranchId() helper to resolve assigned branch while allowing company admin/superadmin cross-branch oversight
- Restrict branch, department, and employee listings and mutations to assigned branch for branch-scoped accounts
- Scope attendance records, biometric logs, leave applications/balances, payslips, shifts, and announcements by assigned branch
- Add comprehensive automated feature tests in BranchScopedAccessTest to prevent branch cross-visibility regression
2026-09-10 11:14:24 +08:00
b992a49fec fix(permissions): resolve manager role permissions for leave applications and biometric attendance 2026-08-28 13:16:25 +08:00
8f078c1f33 Implement HR Branch isolation and Shift isolation 2026-07-14 11:41:04 +08:00
d40c5662d3 feat: add branch isolation for managers and zkteco biometric tracking 2026-07-02 13:06:09 +08:00
5a95cdf4ef feat: simplify leave applications UI and endpoint access for employee role 2026-06-30 16:10:48 +08:00
75ee8cacb8 fix: employee self-service - open controller access and clock-in/out
- LeaveApplicationController: add employee branch to bypass can() check
- AttendanceRecordController: add employee calendar view (own records only)
  + open clockIn/clockOut to employee type (no permission required)
- PayslipController: add employee branch to show own payslips only
- routes/web.php: remove permission:clock-in-out middleware from clock routes
- employee-dashboard.tsx: always show clock in/out buttons for employees
- Rebuild frontend assets
2026-06-30 13:51:02 +08:00
fc916244c6 feat(payroll): DOLE compliant payroll automation 2026-04-28 09:50:44 +08:00
dba76f6ce1 leave fix 2026-04-24 14:34:34 +08:00
273c8e8153 initial commit 2026-04-13 08:16:56 +08:00