added remove role function
added add role function modified admin dashboard views
This commit is contained in:
54
app/Http/Controllers/AdminController.php
Normal file
54
app/Http/Controllers/AdminController.php
Normal 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.');
|
||||
}
|
||||
}
|
||||
48
resources/views/admin/dashboard.blade.php
Normal file
48
resources/views/admin/dashboard.blade.php
Normal 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
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user