mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 10:49:10 -04:00
ALPHA 3.0.2
This commit is contained in:
@@ -15,8 +15,6 @@ class AdminController extends Controller
|
|||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->middleware('auth');
|
$this->middleware('auth');
|
||||||
|
|
||||||
dd(Auth::user()->getAcces(2));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -59,5 +59,7 @@ class Kernel extends HttpKernel
|
|||||||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||||
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
|
'staff' => \App\Http\Middleware\AccesStaff::class,
|
||||||
|
'admin' => \App\Http\Middleware\AccesAdmin::class,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
24
app/Http/Middleware/AccesAdmin.php
Normal file
24
app/Http/Middleware/AccesAdmin.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
|
||||||
|
class AccesAdmin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \Closure $next
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle($request, Closure $next)
|
||||||
|
{
|
||||||
|
if (\Auth::user()->getAcces(2) == false) {
|
||||||
|
abort(401);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
23
app/Http/Middleware/AccesStaff.php
Normal file
23
app/Http/Middleware/AccesStaff.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
|
||||||
|
class AccesStaff
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \Closure $next
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle($request, Closure $next)
|
||||||
|
{
|
||||||
|
if (\Auth::user()->getAcces(1) == false) {
|
||||||
|
abord(401);
|
||||||
|
}
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -74,7 +74,7 @@ class User extends Authenticatable
|
|||||||
$perm_value = 0;
|
$perm_value = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
dd($perm_value);
|
return $perm_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getAcces($level)
|
public function getAcces($level)
|
||||||
@@ -84,7 +84,7 @@ class User extends Authenticatable
|
|||||||
|
|
||||||
$rank_perm_value = $rank->acces_level;
|
$rank_perm_value = $rank->acces_level;
|
||||||
$job_perm_value = $job->acces_level;
|
$job_perm_value = $job->acces_level;
|
||||||
$user_perm_value = $this->acces_level
|
$user_perm_value = $this->acces_level;
|
||||||
|
|
||||||
if ($user_perm_value >= $level ) {
|
if ($user_perm_value >= $level ) {
|
||||||
$perm_value = true;
|
$perm_value = true;
|
||||||
@@ -95,7 +95,6 @@ class User extends Authenticatable
|
|||||||
} else {
|
} else {
|
||||||
$perm_value = false;
|
$perm_value = false;
|
||||||
}
|
}
|
||||||
|
return $perm_value;
|
||||||
return boolean $perm_value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,21 +27,21 @@ class CreateUsersTable extends Migration
|
|||||||
$table->string('sexe');
|
$table->string('sexe');
|
||||||
$table->string('job')->default(6);
|
$table->string('job')->default(6);
|
||||||
$table->integer('acces_level')->default(0);
|
$table->integer('acces_level')->default(0);
|
||||||
$table->boolean('schedule_see')->default(0);
|
$table->string('schedule_see')->default(0);
|
||||||
$table->boolean('schedule_edit')->default(0);
|
$table->string('schedule_edit')->default(0);
|
||||||
$table->boolean('schedule_notify')->default(0);
|
$table->string('schedule_notify')->default(0);
|
||||||
$table->boolean('message_see')->default(0);
|
$table->string('message_see')->default(0);
|
||||||
$table->boolean('message_edit')->default(0);
|
$table->string('message_edit')->default(0);
|
||||||
$table->boolean('message_notify')->default(0);
|
$table->string('message_notify')->default(0);
|
||||||
$table->boolean('paper_edit')->default(0);
|
$table->string('paper_edit')->default(0);
|
||||||
$table->boolean('paper_publish')->default(0);
|
$table->string('paper_publish')->default(0);
|
||||||
$table->boolean('paper_notify')->default(0);
|
$table->string('paper_notify')->default(0);
|
||||||
$table->boolean('inventory_see')->default(0);
|
$table->string('inventory_see')->default(0);
|
||||||
$table->boolean('inventory_edit')->default(0);
|
$table->string('inventory_edit')->default(0);
|
||||||
$table->boolean('inventory_notify')->default(0);
|
$table->string('inventory_notify')->default(0);
|
||||||
$table->boolean('user_see')->default(0);
|
$table->string('user_see')->default(0);
|
||||||
$table->boolean('user_edit')->default(0);
|
$table->string('user_edit')->default(0);
|
||||||
$table->boolean('user_notify')->default(0);
|
$table->string('user_notify')->default(0);
|
||||||
$table->string('api_token', 60)->unique()->default(str_random(60));
|
$table->string('api_token', 60)->unique()->default(str_random(60));
|
||||||
$table->rememberToken();
|
$table->rememberToken();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ class RanksTableSeeder extends Seeder
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
'name' => "Adjudant 2e Classe",
|
'name' => "Adjudant 2e Classe",
|
||||||
'acces_level' => '1',
|
'acces_level' => '2',
|
||||||
'schedule_see' => true,
|
'schedule_see' => true,
|
||||||
'schedule_edit' => false,
|
'schedule_edit' => false,
|
||||||
'schedule_notify' => false,
|
'schedule_notify' => false,
|
||||||
@@ -166,7 +166,7 @@ class RanksTableSeeder extends Seeder
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
'name' => "Adjudant 1er Classe",
|
'name' => "Adjudant 1er Classe",
|
||||||
'acces_level' => '1',
|
'acces_level' => '2',
|
||||||
'schedule_see' => true,
|
'schedule_see' => true,
|
||||||
'schedule_edit' => true,
|
'schedule_edit' => true,
|
||||||
'schedule_notify' => true,
|
'schedule_notify' => true,
|
||||||
|
|||||||
@@ -2,6 +2,51 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
|
<!--/* ALPHA 3.0.2 */-->
|
||||||
|
<div class="card-header">
|
||||||
|
<strong class="card-title"><i class="fa fa-star" aria-hidden="true" style="color: gold"></i> ALPHA 3.0.2<small><span class="badge badge-success float-right mt-1">STABLE</span> <span class="badge badge-warning float-right mt-1">ALPHA</span></small></strong>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<p class="card-text">
|
||||||
|
Nouveauté
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Amélioration générale de l'horaire</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de la section message</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de la section statistique</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de la section utilisateur</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de la section configuration</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de modèle de poste</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de modèle de grade</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de notification par Email</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de notification par SMS</li>
|
||||||
|
<li><i class="fa fa-plus" aria-hidden="true" style="color: green"></i> Ajout de notification interne</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
Back End & API
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout d'une liste de locaux dynamique</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout d'une liste de poste dynamique</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout d'une liste de grade dynamique</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout d'une authentification par token pour les requetes API</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout d'un "Middleware" pour les staffs</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout d'un "Middleware" pour les admins</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout du plugin DataTable</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Modification de la table de données des permissions de "Boolean" a "String"</li>
|
||||||
|
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF"></i> Ajout de page d'erreur personnalisé</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p>
|
||||||
|
Correction de bug
|
||||||
|
<ul style="margin-left: 28px;list-style-type: none;">
|
||||||
|
<li><i class="fa fa-bug" aria-hidden="true" style="color: green"></i> Correction de multiple bug</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<small><span class="badge badge-primary float-right mt-1">2018-05-09 13:20</span></small>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--/* ALPHA 3.0.1e */-->
|
<!--/* ALPHA 3.0.1e */-->
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<strong class="card-title"><i class="fa fa-star" aria-hidden="true" style="color: gold"></i> ALPHA 3.0.1e<small><span class="badge badge-danger float-right mt-1">UNSTABLE</span> <span class="badge badge-warning float-right mt-1">ALPHA</span></small></strong>
|
<strong class="card-title"><i class="fa fa-star" aria-hidden="true" style="color: gold"></i> ALPHA 3.0.1e<small><span class="badge badge-danger float-right mt-1">UNSTABLE</span> <span class="badge badge-warning float-right mt-1">ALPHA</span></small></strong>
|
||||||
|
|||||||
90
resources/views/errors/401.blade.php
Normal file
90
resources/views/errors/401.blade.php
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<html lang="en"><head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
|
<title>Error</title>
|
||||||
|
|
||||||
|
<!-- Fonts -->
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css">
|
||||||
|
|
||||||
|
<!-- Styles -->
|
||||||
|
<style>
|
||||||
|
html, body {
|
||||||
|
background-color: #fff;
|
||||||
|
color: #636b6f;
|
||||||
|
font-family: 'Raleway', sans-serif;
|
||||||
|
font-weight: 100;
|
||||||
|
height: 100vh;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.full-height {
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex-center {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.position-ref {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 36px;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
.loader{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.loader-bg{
|
||||||
|
width: 70px;
|
||||||
|
margin-top: 50px;
|
||||||
|
margin-bottom: 50px;
|
||||||
|
}
|
||||||
|
.loader-spinner {
|
||||||
|
position: relative;
|
||||||
|
border: 16px solid #f3f3f3;
|
||||||
|
border-top: 16px solid #272c33;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
animation: spin 2s linear infinite;
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
top: -163px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% { transform: rotate(0deg); }
|
||||||
|
100% { transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="flex-center position-ref full-height">
|
||||||
|
<div class="content">
|
||||||
|
<div class="title">
|
||||||
|
<h1 class="glitch" data-text="500" style="font-size: 20rem;margin:0px;">401</h1>
|
||||||
|
</div>
|
||||||
|
<div class="loader">
|
||||||
|
<img class="loader-bg" src="/images/leaf_of_canada.png"></img>
|
||||||
|
<div class="loader-spinner"></div>
|
||||||
|
</div>
|
||||||
|
<div class="title">
|
||||||
|
Oups ... Vous n'avez pas l'autorisation de venir ici {{ $exception->getMessage() }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
@@ -17,11 +17,6 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
return $request->user();
|
return $request->user();
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::get('/user/perm/{id}', function($id) {
|
|
||||||
$user = \App\User::find($id);
|
|
||||||
return $user->getPerm("schedule_edit");
|
|
||||||
});
|
|
||||||
|
|
||||||
/* Calendar Route */
|
/* Calendar Route */
|
||||||
Route::post('/calendar/generate', 'CalendarController@generate');
|
Route::post('/calendar/generate', 'CalendarController@generate');
|
||||||
Route::post('/calendar/loadDay', 'CalendarController@load');
|
Route::post('/calendar/loadDay', 'CalendarController@load');
|
||||||
@@ -34,3 +29,8 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
Route::post('/user/delete', 'UserController@destroy');
|
Route::post('/user/delete', 'UserController@destroy');
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::get('/user/perm/{id}', function($id) {
|
||||||
|
$user = \App\User::find($id);
|
||||||
|
return $user->getPerm("schedule_edit");
|
||||||
|
});
|
||||||
|
|||||||
@@ -19,30 +19,32 @@ Route::get('/', function () {
|
|||||||
return view('public');
|
return view('public');
|
||||||
});
|
});
|
||||||
|
|
||||||
/* Espace Administration Route */
|
Route::middleware(['auth','admin'])->group(function () {
|
||||||
Route::get('/admin', 'AdminController@index')->name('admin');
|
|
||||||
Route::get('/admin/update', 'AdminController@update');
|
|
||||||
|
|
||||||
Route::get('/admin/calendar', 'CalendarController@index');
|
/* Espace Administration Route */
|
||||||
|
Route::get('/admin', 'AdminController@index')->name('admin');
|
||||||
|
Route::get('/admin/update', 'AdminController@update');
|
||||||
|
|
||||||
Route::get('/admin/calendar/add/{date}', ['uses' =>'CalendarController@add']);
|
Route::get('/admin/calendar', 'CalendarController@index');
|
||||||
Route::get('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@edit']);
|
|
||||||
|
|
||||||
Route::post('/admin/calendar/add', 'CalendarController@store');
|
Route::get('/admin/calendar/add/{date}', ['uses' =>'CalendarController@add']);
|
||||||
Route::patch('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@patch']);
|
Route::get('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@edit']);
|
||||||
|
|
||||||
Route::get('/admin/stats/log' , 'LogController@index');
|
Route::post('/admin/calendar/add', 'CalendarController@store');
|
||||||
|
Route::patch('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@patch']);
|
||||||
|
|
||||||
Route::get('/admin/message' , 'MessageController@index');
|
Route::get('/admin/stats/log' , 'LogController@index');
|
||||||
Route::get('/admin/message/add' , 'MessageController@create');
|
|
||||||
Route::post('/admin/message/add' , 'MessageController@store');
|
|
||||||
Route::get('/admin/message/{id}', ['uses' =>'MessageController@show']);
|
|
||||||
|
|
||||||
Route::get('/admin/user' , 'UserController@index');
|
Route::get('/admin/message' , 'MessageController@index');
|
||||||
|
Route::get('/admin/message/add' , 'MessageController@create');
|
||||||
|
Route::post('/admin/message/add' , 'MessageController@store');
|
||||||
|
Route::get('/admin/message/{id}', ['uses' =>'MessageController@show']);
|
||||||
|
|
||||||
Route::get('/admin/config/job' , 'JobController@index');
|
Route::get('/admin/user' , 'UserController@index');
|
||||||
|
|
||||||
|
Route::get('/admin/config/job' , 'JobController@index');
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
/* Other Route */
|
/* Other Route */
|
||||||
Route::get('/test', function () {
|
Route::get('/test', function () {
|
||||||
|
|||||||
Reference in New Issue
Block a user