Add number filters
This commit is contained in:
parent
0d81da350b
commit
584c33de70
|
|
@ -36,6 +36,7 @@ class TaskFilters extends QueryFilters
|
||||||
|
|
||||||
return $this->builder->where(function ($query) use ($filter) {
|
return $this->builder->where(function ($query) use ($filter) {
|
||||||
$query->where('description', 'like', '%'.$filter.'%')
|
$query->where('description', 'like', '%'.$filter.'%')
|
||||||
|
->orWhere("number", 'like', '%'.$filter.'%')
|
||||||
->orWhere('time_log', 'like', '%'.$filter.'%')
|
->orWhere('time_log', 'like', '%'.$filter.'%')
|
||||||
->orWhere('custom_value1', 'like', '%'.$filter.'%')
|
->orWhere('custom_value1', 'like', '%'.$filter.'%')
|
||||||
->orWhere('custom_value2', 'like', '%'.$filter.'%')
|
->orWhere('custom_value2', 'like', '%'.$filter.'%')
|
||||||
|
|
@ -138,14 +139,12 @@ class TaskFilters extends QueryFilters
|
||||||
$dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc';
|
$dir = ($sort_col[1] == 'asc') ? 'asc' : 'desc';
|
||||||
|
|
||||||
if ($sort_col[0] == 'client_id') {
|
if ($sort_col[0] == 'client_id') {
|
||||||
return $this->builder->orderByRaw('ISNULL(client_id), client_id '. $dir)
|
return $this->builder->orderBy(\App\Models\Client::select('name')
|
||||||
->orderBy(\App\Models\Client::select('name')
|
|
||||||
->whereColumn('clients.id', 'tasks.client_id'), $dir);
|
->whereColumn('clients.id', 'tasks.client_id'), $dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($sort_col[0] == 'user_id') {
|
if ($sort_col[0] == 'user_id') {
|
||||||
return $this->builder->orderByRaw('ISNULL(user_id), user_id '. $dir)
|
return $this->builder->orderBy(\App\Models\User::select('first_name')
|
||||||
->orderBy(\App\Models\User::select('first_name')
|
|
||||||
->whereColumn('users.id', 'tasks.user_id'), $dir);
|
->whereColumn('users.id', 'tasks.user_id'), $dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -166,33 +165,6 @@ class TaskFilters extends QueryFilters
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function client_ids(string $client_ids = ''): Builder
|
|
||||||
{
|
|
||||||
if (strlen($client_ids) == 0) {
|
|
||||||
return $this->builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->builder->whereIn('client_id', $this->transformKeys(explode(',', $client_ids)));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function project_ids(string $project_ids = ''): Builder
|
|
||||||
{
|
|
||||||
if (strlen($project_ids) == 0) {
|
|
||||||
return $this->builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->builder->whereIn('project_id', $this->transformKeys(explode(',', $project_ids)));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function assigned_user_ids(string $assigned_user_ids = ''): Builder
|
|
||||||
{
|
|
||||||
if (strlen($assigned_user_ids) == 0) {
|
|
||||||
return $this->builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->builder->whereIn('assigned_user_id', $this->transformKeys(explode(',', $assigned_user_ids)));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function assigned_user(string $user = ''): Builder
|
public function assigned_user(string $user = ''): Builder
|
||||||
{
|
{
|
||||||
if (strlen($user) == 0) {
|
if (strlen($user) == 0) {
|
||||||
|
|
@ -223,31 +195,6 @@ class TaskFilters extends QueryFilters
|
||||||
return $this->builder;
|
return $this->builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter by date range
|
|
||||||
*
|
|
||||||
* @param string $date_range
|
|
||||||
* @return Builder
|
|
||||||
*/
|
|
||||||
public function date_range(string $date_range = ''): Builder
|
|
||||||
{
|
|
||||||
$parts = explode(",", $date_range);
|
|
||||||
|
|
||||||
if (count($parts) != 2 || !in_array('calculated_start_date', \Illuminate\Support\Facades\Schema::getColumnListing($this->builder->getModel()->getTable()))) {
|
|
||||||
return $this->builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
|
|
||||||
$start_date = \Carbon\Carbon::parse($parts[0]);
|
|
||||||
$end_date = \Carbon\Carbon::parse($parts[1]);
|
|
||||||
|
|
||||||
return $this->builder->whereBetween('calculated_start_date', [$start_date, $end_date]);
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
return $this->builder;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters the query by the users company ID.
|
* Filters the query by the users company ID.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue