formatting

This commit is contained in:
denisdulici 2020-02-05 11:39:04 +03:00
parent 327a6b05dd
commit 37c2ebe886
2 changed files with 44 additions and 42 deletions

View File

@ -15,6 +15,7 @@ use App\Utilities\Overrider;
use Artisan; use Artisan;
use DB; use DB;
use File; use File;
use Illuminate\Support\Str;
use Schema; use Schema;
class Version200 extends Listener class Version200 extends Listener
@ -890,30 +891,29 @@ class Version200 extends Listener
public function attachPermissions($items) public function attachPermissions($items)
{ {
$map = collect([ $actions_map = collect([
'c' => 'create', 'c' => 'create',
'r' => 'read', 'r' => 'read',
'u' => 'update', '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(); $role = Role::where('name', $role_name)->first();
// Reading role permission modules foreach ($permissions as $page => $action_list) {
foreach ($modules as $module => $value) { $actions = explode(',', $action_list);
$permissions = explode(',', $value);
foreach ($permissions as $p => $perm) { foreach ($actions as $short_action) {
$permissionValue = $map->get($perm); $action = $actions_map->get($short_action);
$moduleName = ucwords(str_replace("-", " ", $module)); $display_name = Str::title($action . ' ' . str_replace('-', ' ', $page));
$permission = Permission::firstOrCreate([ $permission = Permission::firstOrCreate([
'name' => $permissionValue . '-' . $module 'name' => $action . '-' . $page,
], [ ], [
'display_name' => ucfirst($permissionValue) . ' ' . $moduleName, 'display_name' => $display_name,
'description' => ucfirst($permissionValue) . ' ' . $moduleName, 'description' => $display_name,
]); ]);
if ($role->hasPermission($permission->name)) { if ($role->hasPermission($permission->name)) {

View File

@ -5,6 +5,7 @@ use App\Abstracts\Model;
use App\Models\Auth\Role; use App\Models\Auth\Role;
use App\Models\Auth\Permission; use App\Models\Auth\Permission;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class Roles extends Seeder class Roles extends Seeder
{ {
@ -18,7 +19,7 @@ class Roles extends Seeder
{ {
Model::unguard(); Model::unguard();
$this->create($this->roles(), $this->map()); $this->create();
Model::reguard(); Model::reguard();
} }
@ -147,55 +148,56 @@ class Roles extends Seeder
return $rows; return $rows;
} }
private function map() private function actions()
{ {
$rows = [ return collect([
'c' => 'create', 'c' => 'create',
'r' => 'read', 'r' => 'read',
'u' => 'update', 'u' => 'update',
'd' => 'delete' 'd' => 'delete',
]; ]);
return $rows;
} }
private function create($roles, $map) private function create()
{ {
$mapPermission = collect($map); $roles = $this->roles();
foreach ($roles as $key => $modules) { $actions_map = $this->actions();
// Create a new role
$role = Role::create([ foreach ($roles as $role_name => $permissions) {
'name' => $key, $this->command->info('Creating Role ' . Str::title($role_name));
'display_name' => ucwords(str_replace("_", " ", $key)),
'description' => ucwords(str_replace("_", " ", $key)) $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 ($actions as $short_action) {
foreach ($modules as $module => $value) { $action = $actions_map->get($short_action);
$permissions = explode(',', $value);
foreach ($permissions as $p => $perm) { $display_name = Str::title($action . ' ' . str_replace('-', ' ', $page));
$permissionValue = $mapPermission->get($perm);
$moduleName = ucwords(str_replace("-", " ", $module)); $this->command->info('Creating Permission ' . $display_name);
$permission = Permission::firstOrCreate([ $permission = Permission::firstOrCreate([
'name' => $permissionValue . '-' . $module 'name' => $action . '-' . $page,
], [ ], [
'display_name' => ucfirst($permissionValue) . ' ' . $moduleName, 'display_name' => $display_name,
'description' => ucfirst($permissionValue) . ' ' . $moduleName '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)) { continue;
$role->attachPermission($permission);
} else {
$this->command->info($key . ': ' . $p . ' ' . $permissionValue . ' already exist');
} }
$role->attachPermission($permission);
} }
} }
} }