Skip to content

Commit a3b25d1

Browse files
committed
Retainer browse filters when searching
1 parent d39b61d commit a3b25d1

File tree

5 files changed

+46
-34
lines changed

5 files changed

+46
-34
lines changed

src/Http/Controllers/DealController.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,17 @@ public function search(Request $request)
213213
return redirect(route('laravel-crm.deals.index'));
214214
}
215215

216-
$deals = Deal::select(
217-
config('laravel-crm.db_table_prefix').'deals.*',
218-
config('laravel-crm.db_table_prefix').'people.first_name',
219-
config('laravel-crm.db_table_prefix').'people.middle_name',
220-
config('laravel-crm.db_table_prefix').'people.last_name',
221-
config('laravel-crm.db_table_prefix').'people.maiden_name',
222-
config('laravel-crm.db_table_prefix').'organisations.name'
223-
)
216+
$params = Deal::filters($request, 'search');
217+
218+
$deals = Deal::filter($params)
219+
->select(
220+
config('laravel-crm.db_table_prefix').'deals.*',
221+
config('laravel-crm.db_table_prefix').'people.first_name',
222+
config('laravel-crm.db_table_prefix').'people.middle_name',
223+
config('laravel-crm.db_table_prefix').'people.last_name',
224+
config('laravel-crm.db_table_prefix').'people.maiden_name',
225+
config('laravel-crm.db_table_prefix').'organisations.name'
226+
)
224227
->leftJoin(config('laravel-crm.db_table_prefix').'people', config('laravel-crm.db_table_prefix').'deals.person_id', '=', config('laravel-crm.db_table_prefix').'people.id')
225228
->leftJoin(config('laravel-crm.db_table_prefix').'organisations', config('laravel-crm.db_table_prefix').'deals.organisation_id', '=', config('laravel-crm.db_table_prefix').'organisations.id')
226229
->get()

src/Http/Controllers/LeadController.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,18 @@ public function search(Request $request)
192192
if (! $searchValue || trim($searchValue) == '') {
193193
return redirect(route('laravel-crm.leads.index'));
194194
}
195+
196+
$params = Lead::filters($request, 'search');
195197

196-
$leads = Lead::select(
197-
config('laravel-crm.db_table_prefix').'leads.*',
198-
config('laravel-crm.db_table_prefix').'people.first_name',
199-
config('laravel-crm.db_table_prefix').'people.middle_name',
200-
config('laravel-crm.db_table_prefix').'people.last_name',
201-
config('laravel-crm.db_table_prefix').'people.maiden_name',
202-
config('laravel-crm.db_table_prefix').'organisations.name'
203-
)
198+
$leads = Lead::filter($params)
199+
->select(
200+
config('laravel-crm.db_table_prefix').'leads.*',
201+
config('laravel-crm.db_table_prefix').'people.first_name',
202+
config('laravel-crm.db_table_prefix').'people.middle_name',
203+
config('laravel-crm.db_table_prefix').'people.last_name',
204+
config('laravel-crm.db_table_prefix').'people.maiden_name',
205+
config('laravel-crm.db_table_prefix').'organisations.name'
206+
)
204207
->leftJoin(config('laravel-crm.db_table_prefix').'people', config('laravel-crm.db_table_prefix').'leads.person_id', '=', config('laravel-crm.db_table_prefix').'people.id')
205208
->leftJoin(config('laravel-crm.db_table_prefix').'organisations', config('laravel-crm.db_table_prefix').'leads.organisation_id', '=', config('laravel-crm.db_table_prefix').'organisations.id')
206209
->get()

src/Http/Controllers/OrderController.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,17 @@ public function search(Request $request)
213213
return redirect(route('laravel-crm.orders.index'));
214214
}
215215

216-
$orders = Order::select(
217-
config('laravel-crm.db_table_prefix').'orders.*',
218-
config('laravel-crm.db_table_prefix').'people.first_name',
219-
config('laravel-crm.db_table_prefix').'people.middle_name',
220-
config('laravel-crm.db_table_prefix').'people.last_name',
221-
config('laravel-crm.db_table_prefix').'people.maiden_name',
222-
config('laravel-crm.db_table_prefix').'organisations.name'
223-
)
216+
$params = Order::filters($request, 'search');
217+
218+
$orders = Order::filter($params)
219+
->select(
220+
config('laravel-crm.db_table_prefix').'orders.*',
221+
config('laravel-crm.db_table_prefix').'people.first_name',
222+
config('laravel-crm.db_table_prefix').'people.middle_name',
223+
config('laravel-crm.db_table_prefix').'people.last_name',
224+
config('laravel-crm.db_table_prefix').'people.maiden_name',
225+
config('laravel-crm.db_table_prefix').'organisations.name'
226+
)
224227
->leftJoin(config('laravel-crm.db_table_prefix').'people', config('laravel-crm.db_table_prefix').'orders.person_id', '=', config('laravel-crm.db_table_prefix').'people.id')
225228
->leftJoin(config('laravel-crm.db_table_prefix').'organisations', config('laravel-crm.db_table_prefix').'orders.organisation_id', '=', config('laravel-crm.db_table_prefix').'organisations.id')
226229
->get()

src/Http/Controllers/QuoteController.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,17 @@ public function search(Request $request)
213213
return redirect(route('laravel-crm.quotes.index'));
214214
}
215215

216-
$quotes = Quote::select(
217-
config('laravel-crm.db_table_prefix').'quotes.*',
218-
config('laravel-crm.db_table_prefix').'people.first_name',
219-
config('laravel-crm.db_table_prefix').'people.middle_name',
220-
config('laravel-crm.db_table_prefix').'people.last_name',
221-
config('laravel-crm.db_table_prefix').'people.maiden_name',
222-
config('laravel-crm.db_table_prefix').'organisations.name'
223-
)
216+
$params = Quote::filters($request, 'search');
217+
218+
$quotes = Quote::filter($params)
219+
->select(
220+
config('laravel-crm.db_table_prefix').'quotes.*',
221+
config('laravel-crm.db_table_prefix').'people.first_name',
222+
config('laravel-crm.db_table_prefix').'people.middle_name',
223+
config('laravel-crm.db_table_prefix').'people.last_name',
224+
config('laravel-crm.db_table_prefix').'people.maiden_name',
225+
config('laravel-crm.db_table_prefix').'organisations.name'
226+
)
224227
->leftJoin(config('laravel-crm.db_table_prefix').'people', config('laravel-crm.db_table_prefix').'quotes.person_id', '=', config('laravel-crm.db_table_prefix').'people.id')
225228
->leftJoin(config('laravel-crm.db_table_prefix').'organisations', config('laravel-crm.db_table_prefix').'quotes.organisation_id', '=', config('laravel-crm.db_table_prefix').'organisations.id')
226229
->get()

src/Traits/SearchFilters.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ public function scopeFilter($query, $params)
6868
}
6969
} elseif (isset($params[$field]) && is_array($params[$field])) {
7070
$query->where(function ($query) use ($params, $field) {
71-
$query->orWhereIn($field, $params[$field]);
71+
$query->orWhereIn($this->getTable().'.'.$field, $params[$field]);
7272
if (in_array(0, $params[$field])) {
73-
$query->orWhereNull($field);
73+
$query->orWhereNull($this->getTable().'.'.$field);
7474
}
7575
});
7676
}

0 commit comments

Comments
 (0)