v1.3.1 - Removed search functions

This commit is contained in:
frederikpyt
2020-09-18 10:30:44 +02:00
parent 9096f64569
commit 7b99cd7f4e
6 changed files with 1 additions and 444 deletions
@@ -424,167 +424,8 @@ class UserController extends Controller
}
/*******************************************/
/* Search and settings */
/* Settings */
/*******************************************/
public function search(Request $request){
if($request->ajax()){
$output = "<tr>".
"<th>Fornavn</th>".
"<th>Efternavn</th>".
"<th>Email</th>".
"<th>Tlf nr</th>".
"<th>Rolle(r)</th>".
'<th style="width: 1em;"><img class="w-100" src="'. asset('/images/icons/eye.svg') .'" alt="ShowImage"></th>'.
"<th style=\"width: 1em;\"><img class=\"w-100\" src=".asset('/images/icons/pencil.svg')." alt=\"Update\"></th>".
"<th style=\"width: 1em;\"><img class=\"w-100\" src=".asset('/images/icons/trashcan.svg')." alt=\"Delete\"></th>".
"</tr>";
//Join user and roles tables
//$users = User::query()->where('Roles', 'LIKE',$request->search.'%')->with(Spatie\Permission\Models\Role)->get();
//filter search
if($request->isCheck === "navn")
$users = User::query()->firstWhere("id", "!=", 1)->where('name_first', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck === "efternavn")
$users = User::query()->firstWhere("id", "!=", 1)->where('name_last', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck === "email")
$users = User::query()->firstWhere("id", "!=", 1)->where('email', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck === "telefon")
$users = User::query()->firstWhere("id", "!=", 1)->where('phone', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck === "telefon")
$users = User::query()->firstWhere("id", "!=", 1)->where('phone', 'LIKE',$request->search.'%')->get();
elseif ($request->isCheck) {
$roles = Role::query()->where('name', 'LIKE', $request->search . '%')->get();
$usersTEMP = User::query()->where("id", "!=", 1)->get();
$users = [];
foreach ($usersTEMP as $user) {
foreach ($roles as $role) {
if($user->hasRole($role)) {
array_push($users, $user);
break 1;
}
}
}
if($request->search == "")
$users = User::query()->where("id", "!=", 1)->get();
} else {
$usersTEMP = User::query()
->whereKeyNot(1)
->where('name_first', 'LIKE', $request->search . '%')
->orWhere('name_last', 'LIKE', $request->search . '%')
->orWhere('phone', 'LIKE', $request->search . '%')
->orWhere('email', 'LIKE', $request->search . '%')
->get()->except(1);
$roles = Role::query()->where('name', 'LIKE', $request->search . '%')->get();
$users = new Collection();
$allUsers = User::query()->where("id", "!=", 1)->get();
//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)) {
$users->add($user);
break 1;
}
}
}
//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)
$users->add($userTEMP);
}
if($request->search == "")
$users = User::query()->where("id", "!=", 1)->get();
$unique = $users->flatten()->unique('phone');
$users = $unique->values()->all();
}
if(count($users) !== 0){
foreach ($users as $key => $user){
$roles = null;
$rolesString = null;
foreach (User::query()->where("id", "!=", 1)->get() as $usr) {
if($usr->id == $user->id)
$roles = $usr->roles;
}
if(!is_a($roles, 'Illuminate\Database\Eloquent\Collection'))
dd([$roles, $user]);
for($i = 0; $i < count($roles); $i++) {
if(count($roles)-1 != $i) {
$rolesString .= $roles[$i]->name.",";
}else {
$rolesString = $roles[$i]->name;
}
}
$output.='<tr>'.
'<td>' . $user->name_first . '</td>'.
'<td>' . $user->name_last . '</td>'.
'<td>' . $user->email . '</td>'.
'<td>' . $user->phone .'</td>'.
'<td>' . $rolesString .'</td>';
if($user->resource_id !== null)
$output .= '<td style="overflow: visible"><a class="showUsers"><img src="'. asset('/images/icons/eye-dark.svg') .'"><img src="'. asset(\App\Resource::query()->where("id", "=", $user->resource_id)->first()->filename).'" class="showUserImages"></a></td>';
else
$output .= '<td style="overflow: visible"><a class="showUsers noImages"><img src="'.asset('/images/icons/eye-dark.svg').'"><img src="" class="showUserImages"></a></td>';
$output .= '<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().
method_field("delete").
'<button class="w-100 nostyle" onclick="return confirm(\'Are you sure you want to delete?\');" type="submit"><img class="w-100 cursor-pointer" src="'. asset('/images/icons/trashcan-dark.svg') . '" alt="Delete"></button>'.
'</form>'.
'</td>'.
'</tr>';
}
}else{
$output.='<tr>'.
'<td>Intet match</td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'<td></td>'.
'</tr>';
}
return Response($output);
}
}
public function setLanguages(Request $request){
if($request->ajax()){
if($request->lang === "en"){