diff --git a/skolehjem/app/Http/Controllers/RolesController.php b/skolehjem/app/Http/Controllers/RolesController.php index 83b4143..53794c2 100644 --- a/skolehjem/app/Http/Controllers/RolesController.php +++ b/skolehjem/app/Http/Controllers/RolesController.php @@ -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]); } - - } /** diff --git a/skolehjem/resources/views/admin/roles/create.blade.php b/skolehjem/resources/views/admin/roles/create.blade.php index a4c9a4b..51a9d07 100644 --- a/skolehjem/resources/views/admin/roles/create.blade.php +++ b/skolehjem/resources/views/admin/roles/create.blade.php @@ -14,6 +14,18 @@ td > p, td > input { margin: 0; } + + small { + font-size: 16px; + } + + .form-text { + display: block; + } + + .text-muted { + color: #6c757d !important; + }