Implement HR Branch isolation and Shift isolation

This commit is contained in:
2026-07-14 11:41:04 +08:00
parent 778bf0f52b
commit 8f078c1f33
427 changed files with 14658 additions and 14552 deletions

View File

@@ -197,6 +197,12 @@ class EmployeeController extends Controller
$shifts = \App\Models\Shift::whereIn('created_by', getCompanyAndUsersId())
->where('status', 'active')
->where(function($q) {
$branchId = Auth::user()->branch_id ?? Auth::user()->employee->branch_id ?? null;
if ($branchId && !Auth::user()->can('manage-any-shifts')) {
$q->where('branch_id', $branchId)->orWhereNull('branch_id');
}
})
->get(['id', 'name', 'start_time', 'end_time']);
$attendancePolicies = \App\Models\AttendancePolicy::whereIn('created_by', getCompanyAndUsersId())
@@ -520,6 +526,12 @@ class EmployeeController extends Controller
$shifts = \App\Models\Shift::whereIn('created_by', getCompanyAndUsersId())
->where('status', 'active')
->where(function($q) {
$branchId = Auth::user()->branch_id ?? Auth::user()->employee->branch_id ?? null;
if ($branchId && !Auth::user()->can('manage-any-shifts')) {
$q->where('branch_id', $branchId)->orWhereNull('branch_id');
}
})
->get(['id', 'name', 'start_time', 'end_time']);
$attendancePolicies = \App\Models\AttendancePolicy::whereIn('created_by', getCompanyAndUsersId())