diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index 5a2cd7dcf1..33a58c2a5c 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -21,6 +21,7 @@ use Illuminate\Http\Request; use App\Http\Requests\ImageUploadRequest; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Log; class UsersController extends Controller { @@ -185,7 +186,9 @@ class UsersController extends Controller $users->where('autoassign_licenses', '=', $request->input('autoassign_licenses')); } - if ($request->filled('search')) { + if ($request->filled('location_id') != '') { + $users = $users->UserLocation($request->input('location_id'), $request->input('search')); + } else { $users = $users->TextSearch($request->input('search')); } @@ -530,7 +533,7 @@ class UsersController extends Controller try { Storage::disk('public')->delete('avatars/'.$user->avatar); } catch (\Exception $e) { - \Log::debug($e); + Log::debug($e); } } diff --git a/app/Models/User.php b/app/Models/User.php index 8011f94ff4..c6d8d993a2 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -787,5 +787,24 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo return $this; + } + public function scopeUserLocation($query, $location, $search){ + + + return $query->where('location_id','=', $location) + ->where('first_name', 'LIKE', '%' . $search . '%') + ->orWhere('email', 'LIKE', '%' . $search . '%') + ->orWhere('last_name', 'LIKE', '%' . $search . '%') + ->orWhere('permissions', 'LIKE', '%' . $search . '%') + ->orWhere('country', 'LIKE', '%' . $search . '%') + ->orWhere('phone', 'LIKE', '%' . $search . '%') + ->orWhere('jobtitle', 'LIKE', '%' . $search . '%') + ->orWhere('employee_num', 'LIKE', '%' . $search . '%') + ->orWhere('username', 'LIKE', '%' . $search . '%') + ->orwhereRaw('CONCAT(first_name," ",last_name) LIKE \''.$search.'%\''); + + + + } }