Commit Graph

140 Commits

Author SHA1 Message Date
bb4e897f50 fix(frontend): properly normalize midnight rollover for early clock-ins preventing false 'Late' warnings 2026-04-30 14:45:45 +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
9bc09040cc Fix record shift_name fetching on stdClass 2026-04-30 14:12:21 +08:00
4fe67fe6c4 Fix attendance record saving validation when employee default shift is missing 2026-04-30 13:55:10 +08:00
354c355d02 Add required prop to Full Name label in employee create and edit forms 2026-04-30 13:49:16 +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
8d32222d4f Fix 419 Page Expired errors by automatically refreshing CSRF token via Inertia interceptor 2026-04-30 12:45:32 +08:00
3a45c85117 fix: resolve DELETE hr.employees.destroy parameter mapping in index.tsx 2026-04-30 12:29:19 +08:00
b3f3e04b6a fix: intercept backend errors in employee forms to prevent silent navigation failures 2026-04-30 12:25:53 +08:00
69c5b4ff89 fix: resolve FormData rest_days array serialization bug in employee forms 2026-04-30 12:13:53 +08:00
23bff0928e build: update assets 2026-04-29 23:36:52 +08:00
11d7c0f372 chore: export database to scxs4.sql 2026-04-29 23:36:10 +08:00
03038c43f4 feat: implement tax toggle with TRAIN law graduated rates and manual override; fix attendance calendar status display 2026-04-29 23:35:17 +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
baf044dc6e Fix time picker: auto-fill defaults when selecting individual dropdowns 2026-04-29 20:41:37 +08:00
fb1647cdf5 Replace native time input with cross-browser dropdown picker (fixes Safari) 2026-04-29 20:36:51 +08:00
a3707af349 Add shift_grace_period to attendance record detail 2026-04-29 20:21:30 +08:00
2c994fbd15 Fix night shift validation: use record shift, handle midnight crossover, add 5min tolerance 2026-04-29 19:33:24 +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
081ca2d0c4 Update legacy shift sync with March pattern fallback for employees without direct data 2026-04-29 18:43:52 +08:00
e9e8644011 chore: update database export 2026-04-28 22:29:47 +08:00
f4da731b63 chore: build production assets 2026-04-28 22:25:49 +08:00
6b6763fec9 fix(attendance): handle rest_day status in db, seeder, and UI 2026-04-28 22:24:48 +08:00
4a712f55f2 ui(attendance): hide clock in/out fields when status is Rest Day 2026-04-28 22:19:40 +08:00
2c940ee7fd feat(roster): add legacy roster sync and propagation seeders 2026-04-28 22:08:13 +08:00
caa7c19fec feat(payroll): implemented compounded DOLE multipliers for OT and Night Differential 2026-04-28 18:37:14 +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
486b7e7e10 feat(hr): set overtime threshold to 1 hour 2026-04-28 18:19:05 +08:00
e9d13413e2 feat(hr): added grace period support to late detection logic 2026-04-28 18:16:54 +08:00
ec97bd62dc fix(hr): added dynamic absent detection to calendar grid 2026-04-28 18:15:28 +08:00
29ce088592 fix(hr): ensure positive workedHours and robust HD detection 2026-04-28 18:13:13 +08:00
c5bf5d8d79 feat(hr): added daily and hourly salary estimates to salaries view 2026-04-28 18:11:54 +08:00
c83508216b fix(hr): support midnight crossover in frontend workedHours calculation 2026-04-28 18:09:29 +08:00
2553fba614 fix(hr): support early arrivals for midnight shifts and crossover logic 2026-04-28 18:07:54 +08:00
68dbf494c5 fix(hr): robust HD detection and added debug logs 2026-04-28 18:03:37 +08:00
2da3068962 fix(hr): resolved string time comparison bug and improved dynamic HD detection 2026-04-28 18:02:17 +08:00
f425526a32 fix(hr): prioritized Half Day (H) status in calendar grid and added dynamic detection 2026-04-28 18:00:15 +08:00
614c931372 feat(hr): dynamic half-day and absent detection in attendance modal 2026-04-28 17:57:15 +08:00
6a7348edaa fix(hr): remove default times and fix calendar status precedence for Late/Early 2026-04-28 17:54:15 +08:00
01b10a8c2a feat(hr): improve attendance validation UI with legend codes 2026-04-28 17:50:13 +08:00
268b5e4635 feat(hr): grey out attendance fields if no shift is assigned 2026-04-28 17:47:15 +08:00