leave fix

This commit is contained in:
2026-04-24 14:34:34 +08:00
parent 60c760bf14
commit dba76f6ce1
419 changed files with 14708 additions and 14404 deletions

View File

@@ -137,7 +137,7 @@ class LeaveApplicationController extends Controller
$validated = $request->validate([
'employee_id' => 'required|exists:users,id',
'leave_type_id' => 'required|exists:leave_types,id',
'start_date' => 'required|date|after_or_equal:today',
'start_date' => 'required|date',
'end_date' => 'required|date|after_or_equal:start_date',
'reason' => 'required|string',
'attachment' => 'nullable|string',
@@ -162,18 +162,13 @@ class LeaveApplicationController extends Controller
$validated['leave_policy_id'] = $leavePolicy->id;
// Validate days per application
if (
$validated['total_days'] < $leavePolicy->min_days_per_application ||
$validated['total_days'] > $leavePolicy->max_days_per_application
) {
return redirect()->back()->with(
'error',
__('Leave days must be between :min and :max days as per the leave policy.', [
'min' => $leavePolicy->min_days_per_application,
'max' => $leavePolicy->max_days_per_application,
])
);
// Validate days per application (only if policy has limits set > 0)
if ($leavePolicy->min_days_per_application > 0 && $validated['total_days'] < $leavePolicy->min_days_per_application) {
return redirect()->back()->with('error', __('Leave days must be at least :min day(s) as per the leave policy.', ['min' => $leavePolicy->min_days_per_application]));
}
if ($leavePolicy->max_days_per_application > 0 && $validated['total_days'] > $leavePolicy->max_days_per_application) {
return redirect()->back()->with('error', __('Leave days cannot exceed :max day(s) per application as per the leave policy.', ['max' => $leavePolicy->max_days_per_application]));
}
// Check if employee has enough leave balance