User Groups and Rights, Fewo

This commit is contained in:
Kevin Adametz 2019-04-10 17:38:52 +02:00
parent c0c2a1822c
commit 26ecb09cdc
22 changed files with 1316 additions and 787 deletions

View file

@ -74,6 +74,10 @@ class User extends Authenticatable
use SoftDeletes;
protected $permissionData = [];
protected $dates = ['deleted_at'];
protected $table = 'users';
@ -96,6 +100,11 @@ class User extends Authenticatable
'password', 'remember_token', 'token',
];
protected $casts = [
'permissions' => 'array',
];
public function account()
{
@ -142,6 +151,35 @@ class User extends Authenticatable
return false;
}
private function setPermissionsDefault(){
$groups = config('permissions.groups');
$permissions = [];
foreach ($groups as $role_id => $perms){
if($role_id <= $this->admin){
foreach ($perms as $key => $val){
$permissions[$key] = 1;
}
}
}
$this->permissions = $permissions;
}
public function isPermission($key){
//default by role
if(!is_array($this->permissions)){
$this->setPermissionsDefault();
}
if($key == strtolower($key)){
if(isset($this->permissions[$key]) && $this->permissions[$key] == 1){
return true;
}
}
return false;
}
/**
* @return string
*/