Fixed document, transaction and category list page pinned tab search issue..
This commit is contained in:
parent
9ddab69242
commit
311054bad7
|
|
@ -16,6 +16,9 @@ use Illuminate\Pagination\Paginator;
|
||||||
use Illuminate\Pagination\LengthAwarePaginator;
|
use Illuminate\Pagination\LengthAwarePaginator;
|
||||||
use Illuminate\Routing\Controller as BaseController;
|
use Illuminate\Routing\Controller as BaseController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @property string $type
|
||||||
|
*/
|
||||||
abstract class Controller extends BaseController
|
abstract class Controller extends BaseController
|
||||||
{
|
{
|
||||||
use AuthorizesRequests, Jobs, Permissions, Relationships, SearchString, ValidatesRequests;
|
use AuthorizesRequests, Jobs, Permissions, Relationships, SearchString, ValidatesRequests;
|
||||||
|
|
@ -114,6 +117,19 @@ abstract class Controller extends BaseController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! request()->has('list_records') && request()->has('search')) {
|
||||||
|
$status = $this->getSearchStringValue('status');
|
||||||
|
|
||||||
|
if (empty($status)) {
|
||||||
|
$tab_pins = setting('favorites.tab.' . user()->id, []);
|
||||||
|
$tab_pins = ! empty($tab_pins) ? json_decode($tab_pins, true) : [];
|
||||||
|
|
||||||
|
if (! empty($tab_pins) && (($tab_pins[$this->type] ?? null) === 'all')) {
|
||||||
|
request()->offsetSet('list_records', 'all');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (request()->get('list_records') == 'all') {
|
if (request()->get('list_records') == 'all') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -152,6 +168,41 @@ abstract class Controller extends BaseController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! request()->has('list_records') && request()->has('search')) {
|
||||||
|
$type = $this->getSearchStringValue('type');
|
||||||
|
|
||||||
|
if (empty($type)) {
|
||||||
|
$tab_pins = setting('favorites.tab.' . user()->id, []);
|
||||||
|
$tab_pins = ! empty($tab_pins) ? json_decode($tab_pins, true) : [];
|
||||||
|
|
||||||
|
if (! empty($tab_pins) && (($tab_pins['transactions'] ?? null) === 'all')) {
|
||||||
|
request()->offsetSet('list_records', 'all');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (request()->get('list_records') == 'all') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$type = $this->getSearchStringValue('type');
|
||||||
|
|
||||||
|
if (empty($type)) {
|
||||||
|
$search = config('type.transaction.transactions.route.params.income.search');
|
||||||
|
|
||||||
|
request()->offsetSet('search', $search);
|
||||||
|
request()->offsetSet('programmatic', '1');
|
||||||
|
} else {
|
||||||
|
$income = str_replace('type:', 'income', config('type.transaction.transactions.route.params.income.search'));
|
||||||
|
$expense = str_replace('type:', 'expense', config('type.transaction.transactions.route.params.expense.search'));
|
||||||
|
|
||||||
|
if (($type == $income) || ($type == $expense)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
request()->offsetSet('list_records', 'all');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setActiveTabForCategories(): void
|
public function setActiveTabForCategories(): void
|
||||||
|
|
@ -171,6 +222,19 @@ abstract class Controller extends BaseController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! request()->has('list_records') && request()->has('search')) {
|
||||||
|
$type = $this->getSearchStringValue('type');
|
||||||
|
|
||||||
|
if (empty($type)) {
|
||||||
|
$tab_pins = setting('favorites.tab.' . user()->id, []);
|
||||||
|
$tab_pins = ! empty($tab_pins) ? json_decode($tab_pins, true) : [];
|
||||||
|
|
||||||
|
if (! empty($tab_pins) && (($tab_pins['categories'] ?? null) === 'all')) {
|
||||||
|
request()->offsetSet('list_records', 'all');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (request()->get('list_records') == 'all') {
|
if (request()->get('list_records') == 'all') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -186,6 +250,7 @@ abstract class Controller extends BaseController
|
||||||
request()->offsetSet('list_records', $tab);
|
request()->offsetSet('list_records', $tab);
|
||||||
|
|
||||||
$currentSearch = request('search', '');
|
$currentSearch = request('search', '');
|
||||||
|
|
||||||
$searchParts = array_filter(explode(' ', $currentSearch), function($part) {
|
$searchParts = array_filter(explode(' ', $currentSearch), function($part) {
|
||||||
return !empty(trim($part)) && !str_starts_with(trim($part), 'type:');
|
return !empty(trim($part)) && !str_starts_with(trim($part), 'type:');
|
||||||
});
|
});
|
||||||
|
|
@ -194,6 +259,7 @@ abstract class Controller extends BaseController
|
||||||
|
|
||||||
request()->offsetSet('search', implode(' ', $searchParts));
|
request()->offsetSet('search', implode(' ', $searchParts));
|
||||||
request()->offsetSet('programmatic', '1');
|
request()->offsetSet('programmatic', '1');
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue