Added simple admin and mod show view for users
This commit is contained in:
parent
377a9f6a28
commit
b98def63fb
5 changed files with 66 additions and 8 deletions
app
resources/views/users
routes
|
@ -21,15 +21,17 @@ class AdministrativeUserController extends Controller
|
|||
* Common controller functions between administrators and moderator for handling users.
|
||||
*
|
||||
*/
|
||||
public function deleteUser(User $user)
|
||||
public function showUser(User $user)
|
||||
{
|
||||
$this->authorize('delete', $user);
|
||||
$this->authorize('view', $user);
|
||||
|
||||
$user->deleteUser();
|
||||
return redirect('/admin/users');
|
||||
if (Auth::user()->isAdministrator()) {
|
||||
$group = $user->group;
|
||||
return view("users.show", compact("group", "user"));
|
||||
}
|
||||
return view("users.show", compact("user"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Function to show the view used for creating a user.
|
||||
|
@ -83,4 +85,12 @@ class AdministrativeUserController extends Controller
|
|||
$user->updateUser($request->all());
|
||||
return redirect("/admin/users/group/$user->group_id");
|
||||
}
|
||||
|
||||
public function deleteUser(User $user)
|
||||
{
|
||||
$this->authorize('delete', $user);
|
||||
|
||||
$user->deleteUser();
|
||||
return redirect('/admin/users');
|
||||
}
|
||||
}
|
|
@ -27,8 +27,11 @@ class UserPolicy
|
|||
return false;
|
||||
}
|
||||
|
||||
public function view(User $user)
|
||||
public function view(User $user, User $user2)
|
||||
{
|
||||
if ($user->isAdministrator() || ($user->isModerator() AND $user->group_id === $user2->group_id)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
44
resources/views/users/show.blade.php
Normal file
44
resources/views/users/show.blade.php
Normal file
|
@ -0,0 +1,44 @@
|
|||
@extends('layouts.base')
|
||||
|
||||
@section('content')
|
||||
|
||||
@include('shared.delete-modal')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="panel-title">User</h4>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@if (Auth::user()->isAdministrator() || (Auth::user()->isModerator() AND $user->group_id === Auth::user()->group_id))
|
||||
<form method="get">
|
||||
<button type="button" class="btn btn-sm btn-danger pull-right" data-toggle="modal" data-target=".delete-modal" data-url="users" data-id="{{ $user->id }}">Delete</button>
|
||||
<button class="btn btn-sm btn-default pull-right" formaction="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}/edit">Edit</button>
|
||||
</form>
|
||||
@endif
|
||||
<strong>Name:</strong><br>
|
||||
{{ $user->name }}
|
||||
<br>
|
||||
<br>
|
||||
<strong>Email:</strong><br>
|
||||
{{ $user->email }}
|
||||
<br>
|
||||
<br>
|
||||
<strong>Enabled:</strong><br>
|
||||
{{ $user->enabled }}
|
||||
@if (Auth::user()->isAdministrator())
|
||||
<br>
|
||||
<br>
|
||||
<strong>Group:</strong><br>
|
||||
{{ $group->name }}
|
||||
<br>
|
||||
<br>
|
||||
<strong>Access Level:</strong><br>
|
||||
{{ $user->access_level }}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
|
@ -25,10 +25,9 @@
|
|||
@foreach ($users as $user)
|
||||
<tr>
|
||||
<td>{{ $user->id }}</td>
|
||||
<td>{{ $user->name }} ({{ $user->email }})</td>
|
||||
<td><a href="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}">{{ $user->name }} ({{ $user->email }})</a></td>
|
||||
<td>
|
||||
<form method="get" class="pull-right">
|
||||
<button class="btn btn-sm btn-default pull-left" formaction="/{{ Auth::user()->getAdminPath() }}/users/{{ $user->id }}/edit">Edit</button>
|
||||
<button type="button" class="btn btn-sm btn-danger pull-left" data-toggle="modal" data-target=".delete-modal" data-url="users" data-id="{{ $user->id }}">Delete</button>
|
||||
</form>
|
||||
</td>
|
||||
|
|
|
@ -64,6 +64,7 @@ Route::group(['prefix' => 'mod', 'middleware' => 'is.mod'], function () {
|
|||
Route::get('/users', 'ModeratorController@showUsers');
|
||||
Route::get('/users/new', 'AdministrativeUserController@newUser');
|
||||
Route::post('/users/new', 'AdministrativeUserController@addUser');
|
||||
Route::get('/users/{user}', 'AdministrativeUserController@showUser');
|
||||
Route::get('/users/{user}/edit', 'AdministrativeUserController@editUser');
|
||||
Route::post('/users/{user}/edit', 'AdministrativeUserController@updateUser');
|
||||
Route::delete('/users/{user}/delete', 'AdministrativeUserController@deleteUser');
|
||||
|
@ -95,6 +96,7 @@ Route::group(['prefix' => 'admin', 'middleware' => 'is.admin'], function () {
|
|||
Route::get('/users/group/{group}', 'AdminController@showGroupUsers');
|
||||
Route::get('/users/new', 'AdministrativeUserController@newUser');
|
||||
Route::post('/users/new', 'AdministrativeUserController@addUser');
|
||||
Route::get('/users/{user}', 'AdministrativeUserController@showUser');
|
||||
Route::get('/users/{user}/edit', 'AdministrativeUserController@editUser');
|
||||
Route::post('/users/{user}/edit', 'AdministrativeUserController@updateUser');
|
||||
Route::delete('/users/{user}/delete', 'AdministrativeUserController@deleteUser');
|
||||
|
|
Reference in a new issue