Commit Graph

94 Commits

Author SHA1 Message Date
bcb81ed68a fix(attendance): resolve absent status on active clock-in, add auto-logout after 12h, support single punches in BiometricAttendanceController 2026-05-30 11:34:22 +08:00
e89b8e0ccf fix: update biometric sync timezone parsing to Asia/Manila and correct historical records 2026-05-30 11:13:45 +08:00
f393a8282f fix: preserve existing shift and policy in attendance record when overwriting via biometric sync 2026-05-28 12:29:55 +08:00
a1695010f1 fix: allow bulk sync overwrite to process already-synced biometric records and respect active filters 2026-05-28 12:12:23 +08:00
e65cefb933 feat: remove default 7-day date filter from biometric attendance page 2026-05-28 11:55:51 +08:00
02632bb92a feat: add local agent logging and bulk sync overwrite option 2026-05-25 11:52:10 +08:00
33a2dbed16 feat: implement multi-branch attendance tracking and filter updates 2026-05-25 11:34:04 +08:00
9235ddbff5 fix: copy branch_id from biometric log in syncCustom 2026-05-25 11:33:33 +08:00
9e93996f50 feat: implement manual pairing and custom sync for biometric attendance 2026-05-25 11:30:18 +08:00
3b90534d98 Refactor biometric attendance to use database 2026-05-19 17:16:46 +08:00
98d9dab18f fix: eager load branch on correct relation 2026-05-19 16:57:09 +08:00
03865bf03e feat: add branch filtering and column to attendance records 2026-05-19 16:47:07 +08:00
149bd1165e Fix UI configuration block for local agent users 2026-05-19 16:39:11 +08:00
7f92eff3eb Switch biometric agent to staging JSON cache flow 2026-05-19 16:27:54 +08:00
ceb03224b5 Fix Carbon parsing for JS date strings with timezone names 2026-05-19 15:33:47 +08:00
c3acfe9233 Fix ZKTeco date parsing and CSRF whitelist 2026-05-19 15:11:44 +08:00
ee7d0e1aa5 feat: improve employee lookup by branch_id and add sync debug reasons 2026-05-19 14:48:31 +08:00
5696c98bb5 fix: refactor ZKTeco API receiver to group by day and use correct AttendanceRecord table, and limit agent to last 15 days 2026-05-19 14:17:48 +08:00
172937f22d feat: implement ZKTeco local sync agent architecture 2026-05-19 13:51:03 +08:00
cc3f4e3a89 fix: move ZKTeco library inside app to avoid composer autoloader issues on shared hosting 2026-05-19 13:35:12 +08:00
b353aad649 feat: add ZKTeco connection testing wizard in branch form 2026-05-19 13:18:04 +08:00
20a79a130d feat: implement multi-branch biometric IP configuration and auto-sync 2026-05-19 11:24:41 +08:00
df7ebf0ef2 fix: allow updating payroll entries during processing status 2026-05-18 13:50:18 +08:00
78d6c4d494 feat: implement 3-step payroll status workflow (draft -> processing -> completed) 2026-05-18 13:01:21 +08:00
6e10efc408 feat: implement 2-column payslip-style payroll adjustment overrides 2026-05-18 12:30:14 +08:00
e07927abe1 Fix: Always inject holiday metadata into attendance record so banner shows even when employee worked 2026-05-12 12:12:31 +08:00
1d745f52a7 Feat: Add Holiday Type dropdown (Regular 100% / Special Non-Working 30%) for payroll premium rates 2026-05-12 11:29:50 +08:00
1c3b0e25e3 Feat: Add dynamic holiday overlay to Attendance Calendar 2026-05-11 17:43:58 +08:00
0f15e024d8 Feat: Hide payroll_frequency from UI and auto-calculate based on pay period dates 2026-05-11 13:25:41 +08:00
1eb42942cd feat: make employee ID field editable on edit page 2026-05-05 11:21:15 +08:00
bda02061b4 fix: overtime approval workflow - prevent absent override on valid present records, async OT submission, correct employee mapping 2026-05-05 10:47:35 +08:00
e3c4fe2190 Fix leave visibility on dashboard calendar and attendance grid 2026-05-04 14:37:36 +08:00
ab3e4fa862 fix(attendance): correctly map Half Day (HD) status in calendar cell instead of forcing Present (P) 2026-04-30 14:41:42 +08:00
4fe67fe6c4 Fix attendance record saving validation when employee default shift is missing 2026-04-30 13:55:10 +08:00
b63d58620f Fix shift assignment defaulting to present and update employee creation fields 2026-04-30 13:46:32 +08:00
30c24b707b fix: relax attendance time validation and fix calendar status display 2026-04-30 13:32:52 +08:00
1c48367f1f Fix return type hint for logout to accommodate Inertia location response 2026-04-30 13:20:44 +08:00
fd5a4e40ad Fix CSRF login/logout issues and conditionally hide SaaS routes 2026-04-30 13:18:51 +08:00
ee72ae0e67 Fix settings array mapping and non-saas dashboard queries 2026-04-30 13:13:48 +08:00
248db4c441 Fix login cache/hang issue: remove blocking IP geolocation API call and safely handle Inertia invalid event 2026-04-30 13:11:45 +08:00
7b1b5f8f00 Make all employee fields optional except core requirements (name, email, password, salary) 2026-04-30 13:04:26 +08:00
45cd7dc795 Fix 419 Page Expired errors by appending CSRF token to FormData and remove required validation on profile image and contact info fields 2026-04-30 12:57:37 +08:00
69c5b4ff89 fix: resolve FormData rest_days array serialization bug in employee forms 2026-04-30 12:13:53 +08:00
67625a1ae2 Fix: preserve record shift_id on manual attendance update instead of overwriting with employee default 2026-04-29 21:07:32 +08:00
a3707af349 Add shift_grace_period to attendance record detail 2026-04-29 20:21:30 +08:00
0af2431c99 Fix: remove non-existent working_hours column, calculate from shift times 2026-04-29 19:25:22 +08:00
c4d24427fa Fix attendance calendar to read shift from attendance record instead of employee default 2026-04-29 19:23:05 +08:00
6b6763fec9 fix(attendance): handle rest_day status in db, seeder, and UI 2026-04-28 22:24:48 +08:00
2419abfb21 fix(hr): automatically show RD status for rest days based on global settings even if no record exists 2026-04-28 18:28:06 +08:00
6d75d3afc0 feat(hr): added rest day support to attendance records 2026-04-28 18:23:41 +08:00