Added simple admin and mod show view for users

This commit is contained in:
mwalbeck 2016-10-28 22:22:54 +02:00
parent 377a9f6a28
commit b98def63fb
5 changed files with 66 additions and 8 deletions

View file

@ -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');
}
}

View file

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

View 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

View file

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

View file

@ -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');