mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 02:39:10 -04:00
3.2.3
This commit is contained in:
@@ -22,12 +22,9 @@ class LoginController extends Controller
|
||||
|
||||
protected function redirectTo()
|
||||
{
|
||||
if(\Auth::User()->getAcces(2))
|
||||
{
|
||||
return '/admin';
|
||||
} else if(\Auth::User()->getAcces(1)){
|
||||
return '/ecc';
|
||||
}
|
||||
|
||||
return '/admin';
|
||||
|
||||
}
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
|
||||
@@ -84,7 +84,7 @@ class EventController extends Controller
|
||||
}
|
||||
}
|
||||
clog('add','success','a ajouté un évènement',null,'App\Event',$event->id);
|
||||
return redirect('/admin/calendar')->with('success','Événement ajouter à l\'horaire');
|
||||
return redirect('/admin/schedule')->with('success','Événement ajouter à l\'horaire');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -175,7 +175,7 @@ class EventController extends Controller
|
||||
}
|
||||
}
|
||||
clog('edit','success','a modifié un évènement',null,'App\Event',$event->id);
|
||||
return redirect('/admin/calendar')->with('success','Modification à l\'événement sauvegarder à l\'horaire');
|
||||
return redirect('/admin/schedule')->with('success','Modification à l\'événement sauvegarder à l\'horaire');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,7 +24,7 @@ class RankController extends Controller
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
return view('admin.configs.ranks.add');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -35,7 +35,25 @@ class RankController extends Controller
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
$r = new Rank();
|
||||
|
||||
$r->name = $request->name;
|
||||
$r->desc = $request->desc;
|
||||
$r->acces_level = 1;
|
||||
|
||||
$tpermission = [];
|
||||
|
||||
foreach (\App\Permission::all() as $perm)
|
||||
{
|
||||
$tkey = $perm->ckey;
|
||||
$tpermission[$tkey] = $request->$tkey;
|
||||
}
|
||||
|
||||
$r->permissions = json_encode($tpermission);
|
||||
$r->save();
|
||||
|
||||
clog('add','success','Grade ajouté avec succès');
|
||||
return redirect('/admin/config/ranks')->with('success','Grade ajouté avec succès');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,7 +75,7 @@ class RankController extends Controller
|
||||
*/
|
||||
public function edit(Rank $rank)
|
||||
{
|
||||
//
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,9 +85,26 @@ class RankController extends Controller
|
||||
* @param \App\Rank $rank
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, Rank $rank)
|
||||
public function update(Request $request, $rank)
|
||||
{
|
||||
//
|
||||
$r = Rank::find($rank);
|
||||
|
||||
$r->name = $request->name;
|
||||
$r->desc = $request->desc;
|
||||
|
||||
$tpermission = [];
|
||||
|
||||
foreach (\App\Permission::all() as $perm)
|
||||
{
|
||||
$tkey = $perm->ckey;
|
||||
$tpermission[$tkey] = $request->$tkey;
|
||||
}
|
||||
|
||||
$r->permissions = json_encode($tpermission);
|
||||
$r->save();
|
||||
|
||||
clog('edit','success','Grade modifié avec succès');
|
||||
return redirect('/admin/config/ranks')->with('success','Grade modifié avec succès');
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -69,7 +69,7 @@ class UserController extends Controller
|
||||
}
|
||||
|
||||
$user->avatar = rand(1,16);
|
||||
$user->rank = request('rank');
|
||||
$user->rank_id = request('rank');
|
||||
$user->job = request('job');
|
||||
$user->password = bcrypt(request('psw'));
|
||||
$user->api_token = str_random(60);
|
||||
@@ -141,7 +141,7 @@ class UserController extends Controller
|
||||
$user->age = request('age');
|
||||
}
|
||||
|
||||
$user->rank = request('rank');
|
||||
$user->rank_id = request('rank');
|
||||
$user->job = request('job');
|
||||
if (request('psw') != null) {
|
||||
$user->password = bcrypt(request('psw'));
|
||||
@@ -231,7 +231,7 @@ class UserController extends Controller
|
||||
|
||||
$user->save();
|
||||
|
||||
return back()->with('success', 'Modification enregistré');
|
||||
return redirect('/admin/profil')->with('success', 'Modification enregistré');
|
||||
}
|
||||
|
||||
public function UserAdress()
|
||||
@@ -247,7 +247,7 @@ class UserController extends Controller
|
||||
|
||||
$user->save();
|
||||
|
||||
return back()->with('success', 'Modification enregistré');
|
||||
return redirect('/admin/profil')->with('success', 'Modification enregistré');
|
||||
}
|
||||
|
||||
public function apiList()
|
||||
|
||||
@@ -61,5 +61,6 @@ class Kernel extends HttpKernel
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'staff' => \App\Http\Middleware\AccesStaff::class,
|
||||
'admin' => \App\Http\Middleware\AccesAdmin::class,
|
||||
'perm' => \App\Http\Middleware\CheckPerm::class,
|
||||
];
|
||||
}
|
||||
|
||||
25
app/Http/Middleware/CheckPerm.php
Normal file
25
app/Http/Middleware/CheckPerm.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class CheckPerm
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next,$permission)
|
||||
{
|
||||
if (\Auth::user()->p($permission) != 1)
|
||||
{
|
||||
clog('navigate','danger','L\'utilisateur n\'est pas autorisé à effectuer cette action',\Auth::user()->id);
|
||||
return redirect('/admin')->with('error','Vous n\'êtes pas autorisé à effectuer cette action');
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -10,28 +10,28 @@ class Permission extends Model
|
||||
const PERMISSIONS = [
|
||||
'news' => [
|
||||
'news_see' => [
|
||||
'id' => 'news_see',
|
||||
'ckey' => 'news_see',
|
||||
'communName' => 'Voir les nouvelles',
|
||||
'desc' => 'L\'utilisateur peut-il consulter les nouvelles',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'news_add' => [
|
||||
'id' => 'news_add',
|
||||
'ckey' => 'news_add',
|
||||
'communName' => 'Ajouter une nouvelles',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter une nouvelle',
|
||||
'icon' => 'fa-plus',
|
||||
'valeur' => 0
|
||||
],
|
||||
'news_edit' => [
|
||||
'id' => 'news_edit',
|
||||
'ckey' => 'news_edit',
|
||||
'communName' => 'Modifier une nouvelles',
|
||||
'desc' => 'L\'utilisateur peut-il modifier une nouvelle',
|
||||
'icon' => 'fa-edit',
|
||||
'valeur' => 0
|
||||
],
|
||||
'news_delete' => [
|
||||
'id' => 'news_delete',
|
||||
'ckey' => 'news_delete',
|
||||
'communName' => 'Supprimer une nouvelles',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer une nouvelle',
|
||||
'icon' => 'fa-close',
|
||||
@@ -40,28 +40,28 @@ class Permission extends Model
|
||||
],
|
||||
'message' => [
|
||||
'msg_see' => [
|
||||
'id' => 'msg_see',
|
||||
'ckey' => 'msg_see',
|
||||
'communName' => 'Voir les messages',
|
||||
'desc' => 'L\'utilisateur peut-il consulter les messages de la semaine',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'msg_add' => [
|
||||
'id' => 'msg_add',
|
||||
'ckey' => 'msg_add',
|
||||
'communName' => 'Ajouter un message',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter un message de la semaine',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'msg_edit' => [
|
||||
'id' => 'msg_edit',
|
||||
'ckey' => 'msg_edit',
|
||||
'communName' => 'Modifier un message',
|
||||
'desc' => 'L\'utilisateur peut-il modifier les messages de la semaine',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'msg_delete' => [
|
||||
'id' => 'msg_delete',
|
||||
'ckey' => 'msg_delete',
|
||||
'communName' => 'Supprimer un message',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer un message de la semaine',
|
||||
'icon' => 'fa-eye',
|
||||
@@ -70,28 +70,28 @@ class Permission extends Model
|
||||
],
|
||||
'inventory' => [
|
||||
'inventory_see' => [
|
||||
'id' => 'inventory_see',
|
||||
'ckey' => 'inventory_see',
|
||||
'communName' => 'Voir l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il consulter l\'inventaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'inventory_add' => [
|
||||
'id' => 'inventory_add',
|
||||
'ckey' => 'inventory_add',
|
||||
'communName' => 'Ajouter item a l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter un item a l\'inventaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'inventory_edit' => [
|
||||
'id' => 'inventory_edit',
|
||||
'ckey' => 'inventory_edit',
|
||||
'communName' => 'Modifier un item de l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il modifier un item de l\'inventaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'inventory_delete' => [
|
||||
'id' => 'inventory_delete',
|
||||
'ckey' => 'inventory_delete',
|
||||
'communName' => 'Supprimer un item de l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer un item de l\'inventaire',
|
||||
'icon' => 'fa-eye',
|
||||
@@ -100,44 +100,182 @@ class Permission extends Model
|
||||
],
|
||||
'booking' => [
|
||||
'booking_see' => [
|
||||
'id' => 'booking_see',
|
||||
'ckey' => 'booking_see',
|
||||
'communName' => 'Voir les réservations',
|
||||
'desc' => 'L\'utilisateur peut-il consulter la liste des réservations',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'booking_see_self' => [
|
||||
'id' => 'booking_see_self',
|
||||
'communName' => 'Voir ses propres réservations',
|
||||
'desc' => 'L\'utilisateur peut-il consulter la liste de ses réservations',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'booking_add' => [
|
||||
'id' => 'booking_add',
|
||||
'communName' => 'Ajouter item a l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter un item a l\'inventaire',
|
||||
'ckey' => 'booking_add',
|
||||
'communName' => 'Ajouter une réservation',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter une réservation',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'booking_edit' => [
|
||||
'id' => 'booking_edit',
|
||||
'communName' => 'Modifier un item de l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il modifier un item de l\'inventaire',
|
||||
'ckey' => 'booking_edit',
|
||||
'communName' => 'Modifier une réservation',
|
||||
'desc' => 'L\'utilisateur peut-il modifier une réservation',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'booking_delete' => [
|
||||
'id' => 'booking_delete',
|
||||
'communName' => 'Supprimer un item de l\'inventaire',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer un item de l\'inventaire',
|
||||
'ckey' => 'booking_delete',
|
||||
'communName' => 'Supprimer une réservation',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer une réservation',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
]
|
||||
],
|
||||
'user' => [
|
||||
'user_see' => [
|
||||
'ckey' => 'user_see',
|
||||
'communName' => 'Voir la liste des utilisateurs',
|
||||
'desc' => 'L\'utilisateur peut-il consulter la liste des utilisateurs',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'user_add' => [
|
||||
'ckey' => 'user_add',
|
||||
'communName' => 'Ajouter un utilisateur',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter un autre utilisateur',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'user_edit' => [
|
||||
'ckey' => 'user_edit',
|
||||
'communName' => 'Modifier un utilisateur',
|
||||
'desc' => 'L\'utilisateur peut-il modifier un autre utilisateur',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'user_delete' => [
|
||||
'ckey' => 'user_delete',
|
||||
'communName' => 'Supprimer un utilisateur',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer un autre utilisateur',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
],
|
||||
'config' => [
|
||||
'config_see' => [
|
||||
'ckey' => 'config_see',
|
||||
'communName' => 'Voir les configurations',
|
||||
'desc' => 'L\'utilisateur peut-il consulter les configurations',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'config_edit' => [
|
||||
'ckey' => 'config_edit',
|
||||
'communName' => 'Modifier les configurations',
|
||||
'desc' => 'L\'utilisateur peut-il modifier les configurations',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
]
|
||||
],
|
||||
'statistique' => [
|
||||
'stats_see' => [
|
||||
'ckey' => 'stats_see',
|
||||
'communName' => 'Voir les statistiques',
|
||||
'desc' => 'L\'utilisateur peut-il consulter les statistiques',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
]
|
||||
],
|
||||
'schedule' => [
|
||||
'schedule_see' => [
|
||||
'ckey' => 'schedule_see',
|
||||
'communName' => 'Voir l\'horaire',
|
||||
'desc' => 'L\'utilisateur peut-il consulter l\'horaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'schedule_add' => [
|
||||
'ckey' => 'schedule_add',
|
||||
'communName' => 'Ajouter un évènement à l\'horaire',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter un évènement à l\'horaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'schedule_edit' => [
|
||||
'ckey' => 'schedule_edit',
|
||||
'communName' => 'Modifier un évènement à l\'horaire',
|
||||
'desc' => 'L\'utilisateur peut-il modifier un évènement à l\'horaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'schedule_delete' => [
|
||||
'ckey' => 'schedule_delete',
|
||||
'communName' => 'Supprimer un évènement à l\'horaire',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer un évènement à l\'horaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
]
|
||||
],
|
||||
'article' => [
|
||||
'article_see' => [
|
||||
'ckey' => 'article_see',
|
||||
'communName' => 'Voir les articles',
|
||||
'desc' => 'L\'utilisateur peut-il consulter les articles',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'article_add' => [
|
||||
'ckey' => 'article_add',
|
||||
'communName' => 'Ajouter un article',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter un article',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'article_edit' => [
|
||||
'ckey' => 'article_edit',
|
||||
'communName' => 'Modifier un article',
|
||||
'desc' => 'L\'utilisateur peut-il modifier un évènement à l\'horaire',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'article_delete' => [
|
||||
'ckey' => 'article_delete',
|
||||
'communName' => 'Supprimer un article',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer un article',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
],
|
||||
'picture' => [
|
||||
'picture_see' => [
|
||||
'ckey' => 'picture_see',
|
||||
'communName' => 'Voir les images',
|
||||
'desc' => 'L\'utilisateur peut-il consulter les images',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'picture_add' => [
|
||||
'ckey' => 'picture_add',
|
||||
'communName' => 'Ajouter une image',
|
||||
'desc' => 'L\'utilisateur peut-il ajouter une image',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'picture_edit' => [
|
||||
'ckey' => 'picture_edit',
|
||||
'communName' => 'Modifier une image',
|
||||
'desc' => 'L\'utilisateur peut-il modifier une image',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
'picture_delete' => [
|
||||
'ckey' => 'picture_delete',
|
||||
'communName' => 'Supprimer une image',
|
||||
'desc' => 'L\'utilisateur peut-il supprimer une image',
|
||||
'icon' => 'fa-eye',
|
||||
'valeur' => 0
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
public static function all($columns = null)
|
||||
public static function all($value = null,$columns = null)
|
||||
{
|
||||
|
||||
$permissions = collect();
|
||||
@@ -146,11 +284,18 @@ class Permission extends Model
|
||||
foreach ($cat as $c)
|
||||
{
|
||||
$p = new Permission();
|
||||
$p->id = $c['id'];
|
||||
$p->ckey = $c['ckey'];
|
||||
$p->communName = $c['communName'];
|
||||
$p->desc = $c['desc'];
|
||||
$p->icon = $c['icon'];
|
||||
$p->value = $c['valeur'];
|
||||
if ($value == null)
|
||||
{
|
||||
$p->value = $c['valeur'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$p->value = $value;
|
||||
}
|
||||
$permissions->push($p);
|
||||
}
|
||||
}
|
||||
@@ -158,8 +303,19 @@ class Permission extends Model
|
||||
return $permissions;
|
||||
}
|
||||
|
||||
public static function allToString()
|
||||
public static function allToArray()
|
||||
{
|
||||
return \GuzzleHttp\json_encode(Permission::all());
|
||||
return self::PERMISSIONS;
|
||||
}
|
||||
|
||||
public static function allToString($value = null)
|
||||
{
|
||||
$perm = [];
|
||||
foreach (Permission::all($value) as $p)
|
||||
{
|
||||
$perm[$p->ckey] = $p->value;
|
||||
}
|
||||
|
||||
return \GuzzleHttp\json_encode($perm);
|
||||
}
|
||||
}
|
||||
|
||||
18
app/Rank.php
18
app/Rank.php
@@ -10,4 +10,22 @@ class Rank extends Model
|
||||
{
|
||||
return collect(json_decode($this->permissions,true));
|
||||
}
|
||||
|
||||
public function permission($permission)
|
||||
{
|
||||
foreach ($this->permissions() as $perm => $value)
|
||||
{
|
||||
if ($permission == $perm)
|
||||
{
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function p($perm)
|
||||
{
|
||||
return $this->permission($perm);
|
||||
}
|
||||
}
|
||||
|
||||
15
app/User.php
15
app/User.php
@@ -27,6 +27,11 @@ class User extends Authenticatable
|
||||
'password', 'remember_token',
|
||||
];
|
||||
|
||||
public function rank()
|
||||
{
|
||||
return $this->belongsTo('App\Rank');
|
||||
}
|
||||
|
||||
public function logs()
|
||||
{
|
||||
return $this->hasMany(Log::class);
|
||||
@@ -279,4 +284,14 @@ class User extends Authenticatable
|
||||
{
|
||||
return $this->hasMany('App\News');
|
||||
}
|
||||
|
||||
public function permission($perm)
|
||||
{
|
||||
return $this->rank->permission($perm);
|
||||
}
|
||||
|
||||
public function p($perm)
|
||||
{
|
||||
return $this->permission($perm);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user