ALPHA 3.0.2

This commit is contained in:
TheGamecraft
2018-09-05 13:46:20 -04:00
parent 8ef8057bfa
commit 3d7c45c2b2
11 changed files with 226 additions and 43 deletions

View File

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

View File

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

View 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);
}
}

View 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);
}
}

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

@@ -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 () {