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
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:
@@ -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');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user