Admin User Managment
This commit is contained in:
parent
1ba06fcda8
commit
0d033078e7
|
@ -24,15 +24,6 @@ class AdminController extends Controller
|
|||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function listMails() {
|
||||
if(!Auth::user()->admin) {
|
||||
throw new HTTPException("Need Admin Access");
|
||||
}
|
||||
$mails = Mail::query()->get("*");
|
||||
return view('admin/mails_list', ["mails"=>$mails]);
|
||||
}
|
||||
|
||||
public function inviteView() {
|
||||
if(!Auth::user()->admin) {
|
||||
throw new HTTPException("Need Admin Access");
|
||||
|
@ -133,5 +124,41 @@ class AdminController extends Controller
|
|||
}
|
||||
|
||||
|
||||
public function listUser() {
|
||||
if(!Auth::user()->admin) {
|
||||
throw new HTTPException("Need Admin Access");
|
||||
}
|
||||
$users = User::query()->get();
|
||||
|
||||
return view('admin/user_list', ["msg"=>"", "users" => $users]);
|
||||
}
|
||||
|
||||
public function userDetails($id) {
|
||||
if(!Auth::user()->admin) {
|
||||
throw new HTTPException("Need Admin Access");
|
||||
}
|
||||
$user = User::query()->where("id", "=", $id)->firstOrFail();
|
||||
|
||||
$mails = Mail::query()->where("user_id", "=", $id)->get();
|
||||
|
||||
return view('admin/user_details', ["msg"=>"", "editUser" => $user, "mails" => $mails]);
|
||||
}
|
||||
|
||||
public function saveUserDetails(Request $request, $id) {
|
||||
if(!Auth::user()->admin) {
|
||||
throw new HTTPException("Need Admin Access");
|
||||
}
|
||||
$user = User::query()->where("id", "=", $id)->firstOrFail();
|
||||
|
||||
$user->admin = (bool)$request->input("admin", false);
|
||||
$user->developer = (bool)$request->input("developer", false);
|
||||
$user->username = $request->input("username");
|
||||
|
||||
$user->saveOrFail();
|
||||
|
||||
return redirect("/gui/admin/users/".$id);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ class AppController extends Controller
|
|||
'url' => 'required|url'
|
||||
]);
|
||||
|
||||
$app = App::createApp($request->input("name"), $request->input("description"), $request->input("url"), Auth::user());
|
||||
$app = App::createApp($request->input("name"), htmlspecialchars($request->input("description")), $request->input("url"), Auth::user());
|
||||
|
||||
return "App created";
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ class AppController extends Controller
|
|||
}
|
||||
|
||||
$app->name = $request->input("name");
|
||||
$app->description = $request->input("description");
|
||||
$app->description = htmlspecialchars($request->input("description"));
|
||||
$app->url = $request->input("url");
|
||||
$app->direct_url = $request->input("direct_url");
|
||||
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
<?php include(__DIR__."/../layout/top.php"); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3>E-Mail adresses</h3>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>User ID</th>
|
||||
<th>Mail</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
<?php
|
||||
foreach($mails as $mail) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $mail->user_id; ?></td>
|
||||
<td><?php echo $mail->mail; ?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($mail->status == "waiting") {
|
||||
echo '<a href="/gui/mailValidation/'.$mail->id.'/'.$mail->validation_code.'" class="btn btn-danger btn-sm">Aktivieren</a>';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<?php include(__DIR__."/../layout/bottom.php"); ?>
|
|
@ -0,0 +1,54 @@
|
|||
<?php include(__DIR__."/../layout/top.php"); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3>Users</h3>
|
||||
<form method="post">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>Username</th>
|
||||
<td><input name="username" value="<?php echo $editUser->username; ?>" class="form-control"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Primary Mail</th>
|
||||
<td><input name="" value="<?php echo $editUser->getMail(); ?>" class="form-control" disabled></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Developer</th>
|
||||
<td><input name="developer" type="checkbox" <?php if($editUser->developer) { echo 'checked'; } ?>></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Admin</th>
|
||||
<td><input name="admin" type="checkbox" <?php if($editUser->admin) { echo 'checked'; } ?>></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" value="Save" class="btn btn-warning">
|
||||
</form>
|
||||
|
||||
<h4>Mails</h4>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Mail</th>
|
||||
<th>Status</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
<?php
|
||||
foreach($mails as $mail) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $mail->id; ?></td>
|
||||
<td><?php echo $mail->mail; ?></td>
|
||||
<td><?php echo $mail->status ?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($mail->status == "waiting") {
|
||||
echo '<a href="/gui/mailValidation/'.$mail->id.'/'.$mail->validation_code.'" class="btn btn-danger btn-sm">Aktivieren</a>';
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<?php include(__DIR__."/../layout/bottom.php"); ?>
|
|
@ -0,0 +1,49 @@
|
|||
<?php include(__DIR__."/../layout/top.php"); ?>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h3>Users</h3>
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Username</th>
|
||||
<th>Status</th>
|
||||
<th>Primary Mail</th>
|
||||
<th>Flags</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
<?php
|
||||
foreach($users as $user) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $user->id; ?></td>
|
||||
<td><?php echo $user->username; ?></td>
|
||||
<td><?php echo $user->status; ?></td>
|
||||
<td><?php echo $user->getMail(); ?></td>
|
||||
<td>
|
||||
<?php
|
||||
if($user->developer) {
|
||||
echo '<i class="fas fa-laptop-code"></i>';
|
||||
}
|
||||
|
||||
if($user->admin) {
|
||||
echo '<i class="fas fa-user-shield"></i>';
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
||||
</td>
|
||||
<td><a href="/gui/admin/users/<?php echo $user->id; ?>" class="btn btn-warning btn-sm">Edit</a> </td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
Flags:<br>
|
||||
<i class="fas fa-user-shield"></i> = Admin<br>
|
||||
<i class="fas fa-laptop-code"></i> = Developer
|
||||
</div>
|
||||
</div>
|
||||
<?php include(__DIR__."/../layout/bottom.php"); ?>
|
|
@ -54,12 +54,11 @@
|
|||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="/gui/admin/settings">Settings</a>
|
||||
<a class="dropdown-item disabled" href="#">Users</a>
|
||||
<a class="dropdown-item" href="/gui/admin/users">Users</a>
|
||||
<a class="dropdown-item" href="/gui/admin/apps">Apps</a>
|
||||
<?php if($settingsArray["invites"]) {
|
||||
echo '<a class="dropdown-item" href="/gui/admin/invites">Invites</a>';
|
||||
}?>
|
||||
<a class="dropdown-item" href="/gui/admin/mails">E-Mail Adressen</a>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
|
|
@ -15,6 +15,22 @@ $router->get('/', ['middleware' => 'gui', 'uses' => 'GUI\PublicController@index'
|
|||
$router->get('/api/v4/user', ['uses' => 'oAuthController@getUserTMP']);
|
||||
$router->get('/api/v4/groups', ['uses' => 'oAuthController@getGroupsTMP']);
|
||||
|
||||
//Gitlab like oauth
|
||||
$router->group(['prefix' => 'gitlab', 'middleware' => 'gui'], function () use ($router) {
|
||||
|
||||
});
|
||||
|
||||
//Oauth URLS
|
||||
$router->group(['prefix' => 'oauth'], function () use ($router) {
|
||||
$router->get("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeView']);
|
||||
$router->post("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeDo']);
|
||||
$router->post("/token", ['uses' => 'oAuthController@token']);
|
||||
});
|
||||
|
||||
|
||||
//Internal API
|
||||
$router->group(['prefix' => 'api'], function () use ($router) {
|
||||
});
|
||||
|
||||
$router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($router) {
|
||||
$router->get('/register', ['uses' => 'GUI\AccountController@registerView']);
|
||||
|
@ -36,7 +52,6 @@ $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($rou
|
|||
|
||||
|
||||
//Admin
|
||||
$router->get("/admin/mails", ['uses' => 'GUI\AdminController@listMails']);
|
||||
$router->get("/admin/settings", ['uses' => 'GUI\AdminController@settingsView']);
|
||||
$router->post("/admin/settings", ["uses" => "GUI\AdminController@saveSettings"]);
|
||||
$router->get("/admin/apps", ["uses" => "GUI\AdminController@appList"]);
|
||||
|
@ -45,6 +60,11 @@ $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($rou
|
|||
$router->get("/admin/invites", ["uses" => "GUI\AdminController@inviteView"]);
|
||||
$router->get("/admin/invites/new", ["uses" => "GUI\AdminController@inviteNewView"]);
|
||||
$router->post("/admin/invites/new", ["uses" => "GUI\AdminController@inviteNew"]);
|
||||
$router->get("/admin/users", ["uses" => 'GUI\AdminController@listUser']);
|
||||
$router->get("/admin/users/{id}", ["uses" => 'GUI\AdminController@userDetails']);
|
||||
$router->post("/admin/users/{id}", ["uses" => 'GUI\AdminController@saveUserDetails']);
|
||||
|
||||
|
||||
|
||||
$router->get('user/profile', function () {
|
||||
// Uses Auth Middleware
|
||||
|
@ -58,8 +78,3 @@ $router->group(['prefix' => 'gui', 'middleware' => 'gui'], function () use ($rou
|
|||
});*/
|
||||
|
||||
|
||||
$router->group(['prefix' => 'oauth'], function () use ($router) {
|
||||
$router->get("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeView']);
|
||||
$router->post("/authorize", ['middleware' => 'gui', 'uses' => 'oAuthController@authorizeDo']);
|
||||
$router->post("/token", ['uses' => 'oAuthController@token']);
|
||||
});
|
||||
|
|
Reference in New Issue