From 9425f5e067077e3de49c5077a19dd5b74b9ab527 Mon Sep 17 00:00:00 2001
From: frederikpyt <frederikpyt@gmail.com>
Date: Tue, 30 Jun 2020 13:22:02 +0200
Subject: [PATCH 1/2] Fixed role implementation on user index

---
 skolehjem/app/Http/Controllers/UserController.php    |  7 +++++++
 .../resources/views/admin/users/create.blade.php     |  6 +++---
 skolehjem/resources/views/admin/users/edit.blade.php |  4 ++--
 .../resources/views/admin/users/index.blade.php      | 12 ++++++++++--
 4 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/skolehjem/app/Http/Controllers/UserController.php b/skolehjem/app/Http/Controllers/UserController.php
index 3687f33..d08c9ab 100644
--- a/skolehjem/app/Http/Controllers/UserController.php
+++ b/skolehjem/app/Http/Controllers/UserController.php
@@ -152,6 +152,13 @@ class UserController extends Controller
             /** @var User $user */
             $user->update($data);
 
+            $user->roles()->detach();
+            $user->forgetCachedPermissions();
+
+            foreach ($request->roles as $role){
+                $user->assignRole($role);
+            }
+
             $user->save();
 //        }
 
diff --git a/skolehjem/resources/views/admin/users/create.blade.php b/skolehjem/resources/views/admin/users/create.blade.php
index 6cc39a2..0802da9 100644
--- a/skolehjem/resources/views/admin/users/create.blade.php
+++ b/skolehjem/resources/views/admin/users/create.blade.php
@@ -25,9 +25,9 @@
             <input type="password" id="password2" placeholder="Bekræft Password" required>
         <label for="tel">Telefon nr:</label>
             <input type="tel" name="phone" id="tel" placeholder="12345678" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required>
-        <label for="role">Rolle:</label>
-        <select name="role" id="role" class="mb-2" required>
-            <option disabled selected value> -- Vælg en Rolle -- </option>
+        <label for="roles">Rolle:</label>
+        <select name="roles[]" id="roles" class="mb-2" multiple="multiple" required>
+            <option disabled selected value> -- Vælg Rolle(r) -- </option>
             @foreach($roles as $role)
                 <option value="{{ $role->name }}">{{ $role->name }}</option>
             @endforeach
diff --git a/skolehjem/resources/views/admin/users/edit.blade.php b/skolehjem/resources/views/admin/users/edit.blade.php
index f369a60..7025b63 100644
--- a/skolehjem/resources/views/admin/users/edit.blade.php
+++ b/skolehjem/resources/views/admin/users/edit.blade.php
@@ -27,8 +27,8 @@
         <label for="tel">Telefon nr:</label>
             <input type="tel" name="phone" id="tel" value="{{ $user->phone }}" required>
         <label for="role">Rolle:</label>
-            <select name="role" id="role" class="mb-2" required>
-                <option disabled selected value> -- Vælg en Rolle -- </option>
+        <select name="roles[]" id="roles" class="mb-2" multiple="multiple" required>
+                <option disabled selected value> -- Vælg Rolle(r) -- </option>
                 @foreach($roles as $role)
                     <option value="{{ $role->name }}">{{ $role->name }}</option>
                 @endforeach
diff --git a/skolehjem/resources/views/admin/users/index.blade.php b/skolehjem/resources/views/admin/users/index.blade.php
index d40a09c..2a2c2b2 100644
--- a/skolehjem/resources/views/admin/users/index.blade.php
+++ b/skolehjem/resources/views/admin/users/index.blade.php
@@ -16,7 +16,7 @@
             <th>Efternavn</th>
             <th>Email</th>
             <th>Tlf nr</th>
-            <th>Rolle</th>
+            <th>Rolle(r)</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>
@@ -26,7 +26,15 @@
                 <td>{{ $user->name_last }}</td>
                 <td>{{ $user->email }}</td>
                 <td>{{ $user->phone }}</td>
-                <td>{{ $user->roles }}</td>
+                <td>
+                    @for($i = 0; $i < count($user->roles); $i++)
+                        @if(count($user->roles)-1 != $i)
+                            {{$user->roles[$i]->name}},
+                        @else
+                            {{$user->roles[$i]->name}}
+                        @endif
+                    @endfor
+                </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 ]) }}" class="w-100 nostyle">
                         @csrf

From ed9e6c9d6af3619d276799d1b0dc50b79149e969 Mon Sep 17 00:00:00 2001
From: Neerholt <vict3459@edu.sde.dk>
Date: Tue, 30 Jun 2020 13:30:01 +0200
Subject: [PATCH 2/2] Slet roles

---
 skolehjem/app/User.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/skolehjem/app/User.php b/skolehjem/app/User.php
index a7a7023..ac8b735 100644
--- a/skolehjem/app/User.php
+++ b/skolehjem/app/User.php
@@ -21,7 +21,7 @@ class User extends Authenticatable
      * @var array
      */
     protected $fillable = [
-        'name_first', "name_last", 'email', 'password', "phone", "roles"
+        'name_first', "name_last", 'email', 'password', "phone"
     ];
 
     /**