Roles are now searchable

This commit is contained in:
Neerholt 2020-07-30 11:02:41 +02:00
parent cf4559874a
commit 7830e31b21
1 changed files with 66 additions and 12 deletions

View File

@ -305,18 +305,72 @@ class UserController extends Controller
$users = User::query()->where('phone', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck === "telefon")
$users = User::query()->where('phone', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck)
$users = User::query()->where('Roles', 'LIKE',$request->search.'%')->with(Role::class)->get();
else
$users = User::query()
->where('name_first', 'LIKE',$request->search.'%')
->orWhere('name_last','LIKE', $request->search.'%')
->orWhere('phone','LIKE', $request->search.'%')
->orWhere('email','LIKE',$request->search. '%')
->orWhere('name','LIKE',$request->search. '%')
->orWhere('roles','LIKE',$request->search. '%')
->get();
elseif ($request->isCheck) {
$roles = Role::query()->where('name', 'LIKE', $request->search . '%')->get();
$usersTEMP = User::all();
$users = [];
foreach ($usersTEMP as $user) {
foreach ($roles as $role) {
if($user->hasRole($role)) {
array_push($users, $user);
break 2;
}
}
}
if($request->search == "")
$users = User::all();
} else {
$usersTEMP = User::query()
->where('name_first', 'LIKE', $request->search . '%')
->orWhere('name_last', 'LIKE', $request->search . '%')
->orWhere('phone', 'LIKE', $request->search . '%')
->orWhere('email', 'LIKE', $request->search . '%')
->orWhere('name', 'LIKE', $request->search . '%')
->get();
$roles = Role::query()->where('name', 'LIKE', $request->search . '%')->get();
$users = [];
$allUsers = User::all();
//For hver user i systemet, check om han har en af de roller der matcher søgeordet
foreach ($allUsers as $user) {
foreach ($roles as $role) {
if($user->hasRole($role)) {
array_push($users, $user);
break 2;
}
}
}
//For hver user der har data, der matcher søgeordet, check om useren allerede er i resultatet, hvis ikke så tilføj ham
foreach ($usersTEMP as $userTEMP){
$isInUsers = false;
foreach ($users as $user) {
if($userTEMP == $user) {
$isInUsers = true;
break 2;
}
}
if($isInUsers == false)
array_push($users, $userTEMP);
}
$i = 0;
foreach ($users as $user){
$i++;
foreach ($users as $userr){
if($user->id == $userr->id) {
unset($users[$i]);
break 2;
}
}
}
}
@ -351,7 +405,7 @@ class UserController extends Controller
'<td>' . $user->name_last . '</td>'.
'<td>' . $user->email . '</td>'.
'<td>' . $user->phone .'</td>'.
'<td>' . $user->name .'</td>'.
'<td>' . $rolesString .'</td>'.
'<td><a href="'. route("users.edit", [ "user" => $user->id ]) . '"><img class="w-100" src="'. asset('/images/icons/pencil-dark.svg') . '" alt="Update"></a></td>'.
'<td><form method="post" action="' .route("users.destroy", [ "user" => $user->id ]). '" class="w-100 nostyle">'.
csrf_field().