fix: resolve FormData rest_days array serialization bug in employee forms

This commit is contained in:
2026-04-30 12:13:53 +08:00
parent 23bff0928e
commit 69c5b4ff89
523 changed files with 15314 additions and 34578 deletions

View File

@@ -295,16 +295,28 @@ class ShiftController extends Controller
$endTime = $user->employee->shift->end_time;
}
} else if ($user->employee && $user->employee->shift) {
$name = $user->employee->shift->name;
if (stripos($name, 'Morning') !== false) $status = 'M';
else if (stripos($name, 'Evening') !== false) $status = 'E';
else if (stripos($name, 'Night') !== false) $status = 'N';
else $status = strtoupper(substr($name, 0, 1));
// Check if today is a default rest day for this employee
$dayName = strtolower(\Carbon\Carbon::parse($dateKey)->englishDayOfWeek);
$isDefaultRestDay = false;
$shiftName = $name;
$shiftId = $user->employee->shift->id;
$startTime = $user->employee->shift->start_time;
$endTime = $user->employee->shift->end_time;
if (!empty($user->employee->rest_days)) {
$isDefaultRestDay = in_array($dayName, $user->employee->rest_days);
} else {
$isDefaultRestDay = \Carbon\Carbon::parse($dateKey)->isWeekend();
}
if (!$isDefaultRestDay) {
$name = $user->employee->shift->name;
if (stripos($name, 'Morning') !== false) $status = 'M';
else if (stripos($name, 'Evening') !== false) $status = 'E';
else if (stripos($name, 'Night') !== false) $status = 'N';
else $status = strtoupper(substr($name, 0, 1));
$shiftName = $name;
$shiftId = $user->employee->shift->id;
$startTime = $user->employee->shift->start_time;
$endTime = $user->employee->shift->end_time;
}
}
$grid[$dateKey] = [