Updated client contract table and notification table, multiselect
This commit is contained in:
@@ -118,7 +118,8 @@ public function contracts(Client $client, Request $request)
|
||||
$from = $request->input('from');
|
||||
$to = $request->input('to');
|
||||
$search = $request->input('search');
|
||||
$segmentId = $request->input('segment');
|
||||
$segmentsParam = $request->input('segments');
|
||||
$segmentIds = $segmentsParam ? array_filter(explode(',', $segmentsParam)) : [];
|
||||
|
||||
$contractsQuery = \App\Models\Contract::query()
|
||||
->whereHas('clientCase', function ($q) use ($client) {
|
||||
@@ -150,9 +151,9 @@ public function contracts(Client $client, Request $request)
|
||||
});
|
||||
});
|
||||
})
|
||||
->when($segmentId, function ($q) use ($segmentId) {
|
||||
$q->whereHas('segments', function ($s) use ($segmentId) {
|
||||
$s->where('segments.id', $segmentId)
|
||||
->when($segmentIds, function ($q) use ($segmentIds) {
|
||||
$q->whereHas('segments', function ($s) use ($segmentIds) {
|
||||
$s->whereIn('segments.id', $segmentIds)
|
||||
->where('contract_segment.active', true);
|
||||
});
|
||||
})
|
||||
@@ -168,7 +169,7 @@ public function contracts(Client $client, Request $request)
|
||||
return Inertia::render('Client/Contracts', [
|
||||
'client' => $data,
|
||||
'contracts' => $contractsQuery->paginate($request->integer('perPage', 20))->withQueryString(),
|
||||
'filters' => $request->only(['from', 'to', 'search', 'segment']),
|
||||
'filters' => $request->only(['from', 'to', 'search', 'segments']),
|
||||
'segments' => $segments,
|
||||
'types' => $types,
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user