added remove role function

added add role function
modified admin dashboard views
This commit is contained in:
2018-11-07 22:42:10 -06:00
parent 2eac7ff09b
commit 28155e484a
3 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
class AdminController extends Controller
{
public function __construct() {
$this->middleware('auth');
$this->middleware('roles:Admin');
}
public function displayDashboard() {
return view('admin.dashboard');
}
public function addRole(Request $request) {
//Get the user and role from the form
$user = $request->user;
$role = $request->role;
//Get the character id from the username using the user table
$character = DB::table('users')->where('name', $user)->first();
$check = DB::table('user_roles')->where(['character_id' => $character->character_id, 'role' => $role])->get();
if($check === null) {
DB::table('user_roles')->insert([
'character_id' => $characer->character->id,
'role'=> $role,
]);
return view('admin.dashboard')->with('success', 'User Updated.');
}
return view('admin.dashboard')->with('error', 'User already has the role.');
}
public function removeRole(Request $request) {
//Get the user and role from the form
$user = $request->user;
$role = $request->role;
//Get the character id from teh username using the user table
$character = DB::table('users')->where('name', $user)->first();
$check = DB::table('user_roles')->where(['character_id' => $character->character_id, 'role' => $role])->get();
if($check !== null) {
DB::table('user_roles')->where(['character_id' => $character->id,
'role' => $role])
->delete();
return view('admin.dashboard')->with('success', 'User Updated.');
}
return view('admin.dashboard')->with('error', 'User did not have the role.');
}
}

View File

@@ -0,0 +1,48 @@
@extends('layouts.b4')
@section('content')
<div class="container">
<h2>Admin Dashboard</h2>
<div class="col-md-6 card">
<div class="card-header">
Add Role for User
</div>
<div class="card-body">
{!! Form::open(['action' => 'AdminController@addRole', 'method' => 'POST']) !!}
<div class="form-group">
{{ Form::label('user', 'User') }}
{{ Form::text('user', '', ['class' => 'form-control', 'placeholder' => 'Character Name']) }}
{{ Form::select('role', [
'None' => 'None',
'Guest' => 'Guest',
'User' => 'User',
'Admin' => 'Admin',
'SuperUser' => 'SuperUser',
], 'None') }}
</div>
{{ Form::submit('Submit', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
</div>
</div>
<div class="col-md-6 cardheader">
<div class="card-header">
Remove Role from User
</div>
<div class="card-body">
{!! Form::open(['action' => 'AdminController@removeRole', 'method' => 'POST']) !!}
<div class="form-group">
{{ Form::label('user', 'User') }}
{{ Form::text('user', '', ['class' => 'form-control', 'placeholder' => 'Character Name']) }}
{{ Form::select('role', [
'None' => 'None',
'Guest' => 'Guest',
'User' => 'User',
'Admin' => 'Admin',
'SuperUser' => 'SuperUser',
], 'None') }}
</div>
{{ Form::submit('Submit', ['class' => 'btn btn-primary']) }}
{!! Form::close() !!}
</div>
</div>
</div>
@endsection

View File

@@ -26,9 +26,11 @@
</li>
</ul>
<ul class="navbar-nav m1-auto">
@can('isAdmin')
<li class="nav-item">
<a class="nav-link" href="/admin">Admin</a>
</li>
@endcan
<li class="nav-item">
<a class="nav-link" href="/logout">Logout</a>
</li>