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 @@