Added logic to load options against department in visitor page
Some checks failed
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 46s
Gemini PR Review / Gemini PR Review (pull_request) Failing after 20s
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Successful in 15s
Laravel Pint / pint (pull_request) Successful in 8m56s
Laravel Larastan / larastan (pull_request) Failing after 10m59s

This commit is contained in:
dhanabalan
2026-06-06 19:08:59 +05:30
parent 6bc14a347a
commit 9b10ff0069

View File

@@ -120,6 +120,7 @@ class VisitorEntryResource extends Resource
EmployeeMaster::distinct()
->pluck('department', 'department')
)
->searchable()
->required()
->reactive()
->afterStateUpdated(function (callable $set) {
@@ -156,6 +157,11 @@ class VisitorEntryResource extends Resource
->searchable()
->options(function (callable $get) {
$department = $get('department');
if (!$department) {
return [];
}
// Always load ALL employees, filter by department if set
if ($department) {
return EmployeeMaster::where('department', $department)
@@ -319,7 +325,7 @@ class VisitorEntryResource extends Resource
->reactive()
->placeholder('Enter Register ID')
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('Rework', null);
$set('type', null);
}),
Select::make('type')
->label('Type')
@@ -356,7 +362,24 @@ class VisitorEntryResource extends Resource
->reactive()
->placeholder('Enter Visitor Company')
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('Rework', null);
$set('employee_master_id', null);
}),
Select::make('employee_department')
->label('Employee Department')
->options(function () {
return EmployeeMaster::query()
->whereNotNull('department')
->distinct()
->orderBy('department')
->pluck('department', 'department')
->toArray();
})
->searchable()
->preload()
->reactive()
->placeholder('Select Department')
->afterStateUpdated(function ($state, callable $set, callable $get) {
$set('employee_master_id', null);
}),
Select::make('employee_master_id')
->label('Employee Name')
@@ -407,6 +430,10 @@ class VisitorEntryResource extends Resource
$query->where('company', 'like', '%'.$data['company'].'%');
}
if (! empty($data['employee_department'])) {
$query->where('department', $data['employee_department']);
}
if (! empty($data['employee_master_id'])) {
$query->where('employee_master_id', $data['employee_master_id']);
}
@@ -443,6 +470,10 @@ class VisitorEntryResource extends Resource
$indicators[] = 'Company: '.$data['company'];
}
if (! empty($data['employee_department'])) {
$indicators[] = 'Employee Department: '.$data['employee_department'];
}
if (! empty($data['employee_master_id'])) {
$indicators[] = 'Employee Name: '.EmployeeMaster::where('id', $data['employee_master_id'])->value('name');
}