File: /var/www/vhost/disk-apps/dev-beg.teky.com.co/app/Http/Controllers/ManagerPermisions.php
<?php
namespace App\Http\Controllers;
use App\Role;
use App\Permission;
use App\RolePermission;
use Illuminate\Http\Request;
class ManagerPermisions extends Controller
{
public function newPermisions($nameModule)
{
if($nameModule && $nameModule != ''){
$typePermissions = array(
0 => 'create',
1 => 'edit',
2 => 'show',
3 => 'destroy',
4 => 'access',
5 => 'field',
6 => 'seeInfoRoot',
7 => 'report',
);
foreach ($typePermissions as $permission) {
if(!Permission::where("name", $nameModule."_".$permission,)->first()){
Permission::create([
"name" => $nameModule."_".$permission,
"description" => "user can ".$permission. " on ".$nameModule,
]);
}
}
dd("Ok");
}
}
public function assignPermision($nameModule,$role_id)
{
$permissions = Permission::where('name', 'like', $nameModule.'_%')->get();
if($role_id == 1){
$types = 'create,edit,show,destroy,access,field,seeInfoRoot,report';
}else{
$types = 'create,edit,show,destroy,access';
}
foreach ($permissions as $permission) {
$rolePermision = [
"permission_id" => $permission->id,
"role_id" => $role_id
];
if(explode("_", $permission->name)[0] == $nameModule && in_array(explode("_", $permission->name)[1], explode(",", $types)) && !RolePermission::where($rolePermision)->first()){
RolePermission::create(
$rolePermision
);
}
}
dd("Ok");
}
}