diff --git a/app/Http/Controllers/Dashboard/AdminController.php b/app/Http/Controllers/Dashboard/AdminController.php index 87e110a9f..93ce992e3 100644 --- a/app/Http/Controllers/Dashboard/AdminController.php +++ b/app/Http/Controllers/Dashboard/AdminController.php @@ -81,17 +81,30 @@ class AdminController extends Controller /** Users & Permissions Pane */ $userArr = array(); - $userArrs = array(); + /** + * For each user we want to build their name and permission set into one array + * Having all of the data in one array will allow us to build the table for the admin page more fluently. + * Example: userArrs[0]['name'] = Minerva Arbosa + * userArrs[0]['permissions'] = ['admin', 'contract.admin', superuser] + */ + $users = User::all()->orderBy('name', 'desc')->toArray(); + foreach($users as $user) { + $permissions = UserPermission::where([ + 'character_id' => $user['character_id'], + ])->get()->toArray(); + + $tempUser['name'] = $user['name']; + $tempUser['role'] = $user['role']; + $tempUser['permissions'] = $permissions; + + array_push($userArry, $tempUser); + } + //Get the users from the database to allow a selection of users for various parts of the webpage $users = User::pluck('name')->all(); //Get the available permissions from the database to allow a selection of permissions $permissions = AvailableUserPermission::pluck('permission')->all(); - //For each user we need to build their username and permissions array into one array - /** - * Example: userArrs[0]['name'] = Minerva Arbosa - * userArrs[0]['permissions'] = ['admin', 'contract.admin', superuser] - */ foreach($users as $key => $value) { $user[$value] = $value; } @@ -117,6 +130,7 @@ class AdminController extends Controller } return view('admin.dashboard')->with('data', $data) + ->with('userArr', $userArr) ->with('pis', $pis) ->with('industrys', $industrys) ->with('offices', $offices) diff --git a/app/Http/Controllers/Wiki/WikiController.php b/app/Http/Controllers/Wiki/WikiController.php index ee083da2d..b9c710f14 100644 --- a/app/Http/Controllers/Wiki/WikiController.php +++ b/app/Http/Controllers/Wiki/WikiController.php @@ -43,6 +43,18 @@ class WikiController extends Controller if(in_array($allianceId, $legacy) || in_array($allianceId, $renter) || $allianceId == 99004116) { //Do nothing } else { + //Get the uid of the user as we will need to purge them from the member table as well. + //the member table holds their permissions. + $uid = DokuUser::where([ + 'name' => $user, + ])->value('id'); + + //Delete the permissions of the user first. + DokuMember::where([ + 'uid' => $uid, + ])->delete(); + + //Delete the user from the user table DokuUser::where(['name' => $user])->delete(); } } diff --git a/app/Models/Doku/DokuGroupNames.php b/app/Models/Doku/DokuGroupNames.php index 17eab75be..a752234c9 100644 --- a/app/Models/Doku/DokuGroupNames.php +++ b/app/Models/Doku/DokuGroupNames.php @@ -10,4 +10,8 @@ class DokuGroupNames extends Model protected $table = 'wiki_groupnames'; public $timestamps = false; + + protected $fillable = [ + 'gname', + ]; } diff --git a/app/Models/Doku/DokuMember.php b/app/Models/Doku/DokuMember.php index 86e8eb275..3ac76373c 100644 --- a/app/Models/Doku/DokuMember.php +++ b/app/Models/Doku/DokuMember.php @@ -10,4 +10,10 @@ class DokuMember extends Model protected $table = 'wiki_member'; public $timestamps = false; + + protected $fillable = [ + 'uid', + 'gid', + 'groupname', + ]; } diff --git a/app/Models/Doku/DokuUser.php b/app/Models/Doku/DokuUser.php index 10afb2a22..b5f051312 100644 --- a/app/Models/Doku/DokuUser.php +++ b/app/Models/Doku/DokuUser.php @@ -11,4 +11,11 @@ class DokuUser extends Model // Timestamps public $timestamps = false; + + protected $fillable = [ + 'login', + 'pass', + 'name', + 'mail', + ]; } diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php index e3d4d74f1..6c6b06424 100644 --- a/resources/views/admin/dashboard.blade.php +++ b/resources/views/admin/dashboard.blade.php @@ -7,6 +7,7 @@