diff --git a/app/Listeners/Report/AddSearchString.php b/app/Listeners/Report/AddSearchString.php index 8bce21bdc..1e655395e 100644 --- a/app/Listeners/Report/AddSearchString.php +++ b/app/Listeners/Report/AddSearchString.php @@ -27,6 +27,35 @@ class AddSearchString extends Listener return; } + $old = old(); + $request = request()->all(); + + if ($old || $request) { + $input = request('search'); + + $filters = []; + + if ($input) { + $filters = explode(' ', $input); + } + + foreach ($old as $key => $value) { + $filters[] = $key . ':' . $value; + } + + foreach ($request as $key => $value) { + if ($key == 'search') { + continue; + } + + $filters[] = $key . ':' . $value; + } + + request()->merge([ + 'search' => implode(' ', $filters) + ]); + } + // Apply search string $this->applySearchStringFilter($event); } diff --git a/resources/views/partials/reports/filter.blade.php b/resources/views/partials/reports/filter.blade.php index 2fd2c4243..e19b15e02 100644 --- a/resources/views/partials/reports/filter.blade.php +++ b/resources/views/partials/reports/filter.blade.php @@ -73,6 +73,14 @@ 'value' => \Date::now()->year, ]; } + + if (old($key) || request()->get($key)) { + $filtered[] = [ + 'option' => $key, + 'operator' => '=', + 'value' => old($key, request()->get($key)), + ]; + } } @endphp