File: /var/www/vhost/disk-apps/dev-beg.teky.com.co/database/seeds/RolePermissionsTableSeeder.php
<?php
use App\Role;
use App\Permission;
use App\RolePermission;
use Illuminate\Database\Seeder;
class RolePermissionsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$root_permissions = Permission::all();
Role::findOrFail(1)->permissions()->sync($root_permissions->pluck('id'));
$modules_admin = array(
0 => 'zone',
1 => 'area',
2 => 'user',
3 => 'log',
4 => 'equipment',
5 => 'userZone',
6 => 'areaForm',
7 => 'equipmentForm',
8 => 'form',
9 => 'formField',
10 => 'measurementDocument',
11 => 'dashboard',
);
$modules_type_admin = array(
0 => 'create,edit,show,destroy,access',
1 => 'create,edit,show,destroy,access',
2 => 'create,edit,show,destroy,access',
3 => 'show',
4 => 'create,edit,show,destroy,access',
5 => 'create,edit,show,destroy,access',
6 => 'create,edit,show,destroy,access',
7 => 'create,edit,show,destroy,access',
8 => 'create,edit,show,destroy,access',
9 => 'create,edit,show,destroy,access',
10 => 'create,edit,show,destroy,access,report',
11 => 'create,edit,show,destroy,access',
);
$modules_supervisor = array(
0 => 'measurementDocument',
1 => 'dashboard'
);
$modules_type_supervisor = array(
0 => 'show,access,report',
1 => 'show,access'
);
foreach ($root_permissions as $permission) {
foreach ($modules_admin as $key => $module) {
if(explode("_", $permission->name)[0] == $module && in_array(explode("_", $permission->name)[1], explode(",", $modules_type_admin[$key]))){
RolePermission::create([
"permission_id" => $permission->id,
"role_id" => 2
]);
}
}
foreach ($modules_supervisor as $key => $module) {
if(explode("_", $permission->name)[0] == $module && in_array(explode("_", $permission->name)[1], explode(",", $modules_type_supervisor[$key]))){
RolePermission::create([
"permission_id" => $permission->id,
"role_id" => 4
]);
}
}
}
}
}