refs #1511 User companies input change multi select groups

This commit is contained in:
Cüneyt Şentürk
2020-07-01 16:29:58 +03:00
parent 2b42f3168e
commit a96d6f22bc
9 changed files with 179 additions and 8 deletions

View File

@ -227,4 +227,23 @@ class Companies extends Controller
return redirect()->route('dashboard');
}
public function autocomplete()
{
$query = request('query');
$autocomplete = Company::autocomplete([
'name' => $query
]);
$companies = $autocomplete->get()->sortBy('name')->pluck('name', 'id');
return response()->json([
'success' => true,
'message' => 'Get all companies.',
'errors' => [],
'count' => $companies->count(),
'data' => ($companies->count()) ? $companies : null,
]);
}
}

View File

@ -318,6 +318,32 @@ class Company extends Eloquent
->select('companies.*');
}
/**
* Scope autocomplete.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param array $filter
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeAutocomplete($query, $filter)
{
return $query->join('settings', 'companies.id', '=', 'settings.company_id')
->where(function ($query) use ($filter) {
foreach ($filter as $key => $value) {
$column = $key;
if (!in_array($key, $this->fillable)) {
$column = 'company.' . $key;
$query->orWhere('key', $column);
$query->Where('value', 'LIKE', "%" . $value . "%");
} else {
$query->orWhere($column, 'LIKE', "%" . $value . "%");
}
}
})
->select('companies.*');
}
/**
* Get the current balance.
*

View File

@ -55,6 +55,10 @@ class Form extends Provider
'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null
]);
Facade::component('multiSelectRemoteGroup', 'partials.form.multi_select_remote_group', [
'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null
]);
Facade::component('selectGroup', 'partials.form.select_group', [
'name', 'text', 'icon', 'values', 'selected' => null, 'attributes' => ['required' => 'required'], 'col' => 'col-md-6', 'group_class' => null
]);