This commit is contained in:
frederikpyt
2020-08-31 08:16:36 +02:00
23 changed files with 681 additions and 28 deletions
+8 -4
View File
@@ -3,9 +3,7 @@
namespace App\Helpers;
use Illuminate\Support\Facades\Auth;
use Jenssegers\Agent\Agent;
class Detector
@@ -16,7 +14,13 @@ class Detector
if($agent->isMobile()) {
return view(config("detector.mobilePath") . "." . $viewName, $args);
} else if(Auth()->user() !== null) {
if (Auth()->user()->can('admin.panel.show') == true)
return view(config("detector.defaultPath") . "." . $viewName, $args);
}
return view(config("detector.defaultPath") . "." . $viewName, $args);
if($viewName == "users.login" || $viewName == "users.logout")
return view(config("detector.mobilePath") . "." . $viewName, $args);
return view("errors.403", $args);
}
}
@@ -6,6 +6,7 @@ use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use Spatie\Permission\Models\Role;
use Illuminate\Database\Eloquent\Collection;
class rolesController extends Controller
{
@@ -57,6 +58,13 @@ class rolesController extends Controller
"description" => "required|max:255"
]);
$brugerPermissions = new Collection();
if ($request->value !== null) {
foreach ($request->value as $valuee) {
$brugerPermissions->add(\Spatie\Permission\Models\Permission::query()->where("name", "=", $valuee)->first());
}
}
$role = new Role($requestRole);
$allRoles = Role::query()->where('name', '=', $request->name)->get();
@@ -66,11 +74,16 @@ class rolesController extends Controller
return redirect()->route("roles.store");
else { // Else - Create it
$role->save();
if (!$brugerPermissions->isEmpty()) {
foreach ($brugerPermissions as $permission) {
\Spatie\Permission\Models\Role::query()->find($role->id)->givePermissionTo($permission);
}
}
$roles = Role::query()->paginate($request->input("limit", 20));
return redirect()->route("roles.index", ['roles' => $roles]);
}
}
/**
@@ -19,16 +19,16 @@ class RootController extends Controller
if(auth()->user()->can('admin.panel.show')) {
if(Response::detect("root.index")->name() == "admin.root.index")
return Response::detect("root.index");
return view("admin.root.index");
else {
$news = News::query()->orderBy('id', 'desc')->paginate($perPage);
return Response::detect("root.index", ["news" => $news]);
return view("app.root.index", ["news" => $news]);
}
}
else {
$news = News::query()->orderBy('id', 'desc')->paginate($perPage, ['*'], "page");
return view('app.root.index', ["news" => $news]);
return Response::detect('root.index', ["news" => $news]);
}
}
}
@@ -76,6 +76,7 @@ class UserController extends Controller
"phone" => "required|max:8|min:8",
]);
$allUsersEmail = User::query()->where('email', '=', $request->email)->get();
$allUsersPhone = User::query()->where('phone', '=', $request->phone)->get();
@@ -140,6 +141,12 @@ class UserController extends Controller
{
$user = User::find($id);
if($request->file("resource")) {
$user->resource_id = ResourceController::store($request)->id;
}
$user->save();
$allUsersEmail = User::query()->where('email', '=', $request->email)->where('id', '!=', $id)->get();
$allUsersPhone = User::query()->where('phone', '=', $request->phone)->where('id', '!=', $id)->get();
@@ -315,18 +322,18 @@ class UserController extends Controller
$data = $request->only(['name_first', 'name_last', 'email', 'phone', 'password']);
if ($request->input('password') != $request->input('confirmpassword')) { // If new password and new password confirm is not the same, go back with fail message.
if (request()->cookie('languagesSetting') == "dk")
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center"><b>Der stod ikke det samme i `Nyt Password` & `Confirm Password`!</b></p>');
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center"><b>Der stod ikke det samme i Nyt Password & Confirm Password!</b></p>');
elseif (request()->cookie('languagesSetting') == "en")
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center"><b>`New Password` & `Confirm Password` was not the same!</b></p>');
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center"><b>New Password & Confirm Password was not the same!</b></p>');
else
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center"><b>Der stod ikke det samme i `Nyt Password` & `Confirm Password`!</b></p>');
return redirect()->route("users.accounteditpass")->with('error#notsamepass', '<p class="text-center"><b>Der stod ikke det samme i Nyt Password & Confirm Password!</b></p>');
} elseif (!Hash::check($request->input('oldpassword'), $user->password)) { // If the written current password and current password in DB is not the same, go back with fail message.
if (request()->cookie('languagesSetting') == "dk")
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center"><b>Det indtastede password i `Nuværende Password` er ikke dit nuværende password!</b></p>');
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center"><b>Det indtastede password i Nuværende Password er ikke dit nuværende password!</b></p>');
elseif (request()->cookie('languagesSetting') == "en")
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center"><b>The entered `Current Password` was not the same as your current password!</b></p>');
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center"><b>The entered Current Password was not the same as your current password!</b></p>');
else
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center"><b>Det indtastede password i `Nuværende Password` er ikke dit nuværende password!</b></p>');
return redirect()->route("users.accounteditpass")->with('error#oldpass', '<p class="text-center"><b>Det indtastede password i Nuværende Password er ikke dit nuværende password!</b></p>');
} else { // If new password and current password is the same AND current written and current DB password is the same. Then update and logout.
/** @var User $user */
$user->update($data);
@@ -3,6 +3,7 @@
namespace App\Providers;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\ServiceProvider;
use Jenssegers\Agent\Facades\Agent;
@@ -28,8 +29,14 @@ class DetectorServiceProvider extends ServiceProvider
Response::macro("detect", function ($view, $args = []) {
if(Agent::isMobile()) {
return view(config("detector.mobilePath") . "." . $view, $args);
} else if(Auth()->user() !== null){
if(Auth()->user()->can('admin.panel.show') == true)
return view(config("detector.defaultPath") . "." . $view, $args);
}
return view(config("detector.defaultPath") . "." . $view, $args);
if($view == "users.login" || $view == "users.logout")
return view(config("detector.mobilePath") . "." . $view, $args);
return view("errors.403", $args);
});
}
}