formatting
This commit is contained in:
parent
327a6b05dd
commit
37c2ebe886
@ -15,6 +15,7 @@ use App\Utilities\Overrider;
|
||||
use Artisan;
|
||||
use DB;
|
||||
use File;
|
||||
use Illuminate\Support\Str;
|
||||
use Schema;
|
||||
|
||||
class Version200 extends Listener
|
||||
@ -890,30 +891,29 @@ class Version200 extends Listener
|
||||
|
||||
public function attachPermissions($items)
|
||||
{
|
||||
$map = collect([
|
||||
$actions_map = collect([
|
||||
'c' => 'create',
|
||||
'r' => 'read',
|
||||
'u' => 'update',
|
||||
'd' => 'delete'
|
||||
'd' => 'delete',
|
||||
]);
|
||||
|
||||
foreach ($items as $role_name => $modules) {
|
||||
foreach ($items as $role_name => $permissions) {
|
||||
$role = Role::where('name', $role_name)->first();
|
||||
|
||||
// Reading role permission modules
|
||||
foreach ($modules as $module => $value) {
|
||||
$permissions = explode(',', $value);
|
||||
foreach ($permissions as $page => $action_list) {
|
||||
$actions = explode(',', $action_list);
|
||||
|
||||
foreach ($permissions as $p => $perm) {
|
||||
$permissionValue = $map->get($perm);
|
||||
foreach ($actions as $short_action) {
|
||||
$action = $actions_map->get($short_action);
|
||||
|
||||
$moduleName = ucwords(str_replace("-", " ", $module));
|
||||
$display_name = Str::title($action . ' ' . str_replace('-', ' ', $page));
|
||||
|
||||
$permission = Permission::firstOrCreate([
|
||||
'name' => $permissionValue . '-' . $module
|
||||
'name' => $action . '-' . $page,
|
||||
], [
|
||||
'display_name' => ucfirst($permissionValue) . ' ' . $moduleName,
|
||||
'description' => ucfirst($permissionValue) . ' ' . $moduleName,
|
||||
'display_name' => $display_name,
|
||||
'description' => $display_name,
|
||||
]);
|
||||
|
||||
if ($role->hasPermission($permission->name)) {
|
||||
|
@ -5,6 +5,7 @@ use App\Abstracts\Model;
|
||||
use App\Models\Auth\Role;
|
||||
use App\Models\Auth\Permission;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class Roles extends Seeder
|
||||
{
|
||||
@ -18,7 +19,7 @@ class Roles extends Seeder
|
||||
{
|
||||
Model::unguard();
|
||||
|
||||
$this->create($this->roles(), $this->map());
|
||||
$this->create();
|
||||
|
||||
Model::reguard();
|
||||
}
|
||||
@ -147,55 +148,56 @@ class Roles extends Seeder
|
||||
return $rows;
|
||||
}
|
||||
|
||||
private function map()
|
||||
private function actions()
|
||||
{
|
||||
$rows = [
|
||||
return collect([
|
||||
'c' => 'create',
|
||||
'r' => 'read',
|
||||
'u' => 'update',
|
||||
'd' => 'delete'
|
||||
];
|
||||
|
||||
return $rows;
|
||||
'd' => 'delete',
|
||||
]);
|
||||
}
|
||||
|
||||
private function create($roles, $map)
|
||||
private function create()
|
||||
{
|
||||
$mapPermission = collect($map);
|
||||
$roles = $this->roles();
|
||||
|
||||
foreach ($roles as $key => $modules) {
|
||||
// Create a new role
|
||||
$role = Role::create([
|
||||
'name' => $key,
|
||||
'display_name' => ucwords(str_replace("_", " ", $key)),
|
||||
'description' => ucwords(str_replace("_", " ", $key))
|
||||
$actions_map = $this->actions();
|
||||
|
||||
foreach ($roles as $role_name => $permissions) {
|
||||
$this->command->info('Creating Role ' . Str::title($role_name));
|
||||
|
||||
$role = Role::firstOrCreate([
|
||||
'name' => $role_name,
|
||||
], [
|
||||
'display_name' => Str::title($role_name),
|
||||
'description' => Str::title($role_name),
|
||||
]);
|
||||
|
||||
$this->command->info('Creating Role ' . strtoupper($key));
|
||||
foreach ($permissions as $page => $action_list) {
|
||||
$actions = explode(',', $action_list);
|
||||
|
||||
// Reading role permission modules
|
||||
foreach ($modules as $module => $value) {
|
||||
$permissions = explode(',', $value);
|
||||
foreach ($actions as $short_action) {
|
||||
$action = $actions_map->get($short_action);
|
||||
|
||||
foreach ($permissions as $p => $perm) {
|
||||
$permissionValue = $mapPermission->get($perm);
|
||||
$display_name = Str::title($action . ' ' . str_replace('-', ' ', $page));
|
||||
|
||||
$moduleName = ucwords(str_replace("-", " ", $module));
|
||||
$this->command->info('Creating Permission ' . $display_name);
|
||||
|
||||
$permission = Permission::firstOrCreate([
|
||||
'name' => $permissionValue . '-' . $module
|
||||
'name' => $action . '-' . $page,
|
||||
], [
|
||||
'display_name' => ucfirst($permissionValue) . ' ' . $moduleName,
|
||||
'description' => ucfirst($permissionValue) . ' ' . $moduleName
|
||||
'display_name' => $display_name,
|
||||
'description' => $display_name,
|
||||
]);
|
||||
|
||||
$this->command->info('Creating Permission to ' . $permissionValue . ' for ' . $moduleName);
|
||||
if ($role->hasPermission($permission->name)) {
|
||||
$this->command->info($role_name . ': ' . $display_name . ' already exist');
|
||||
|
||||
if (! $role->hasPermission($permission->name)) {
|
||||
$role->attachPermission($permission);
|
||||
} else {
|
||||
$this->command->info($key . ': ' . $p . ' ' . $permissionValue . ' already exist');
|
||||
continue;
|
||||
}
|
||||
|
||||
$role->attachPermission($permission);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user