diff --git a/Database/Seeders/GenderSeeder.php b/Database/Seeders/GenderSeeder.php new file mode 100644 index 0000000..103a7c6 --- /dev/null +++ b/Database/Seeders/GenderSeeder.php @@ -0,0 +1,33 @@ +data(); + + foreach ($data as $value) { + Gender::create([ + 'name' => $value['name'], + ]); + } + } + + public function data() + { + return [ + ['name' => 'Laki-laki'], + ['name' => 'Perempuan'] + ]; + } + } diff --git a/Database/Seeders/MasterDatabaseSeeder.php b/Database/Seeders/MasterDatabaseSeeder.php index 700542c..b16043f 100644 --- a/Database/Seeders/MasterDatabaseSeeder.php +++ b/Database/Seeders/MasterDatabaseSeeder.php @@ -1,21 +1,69 @@ forgetCachedPermissions(); - // $this->call("OthersTableSeeder"); + $data = $this->data(); + foreach ($data as $value) { + $permission = Permission::create([ + 'name' => $value['name'], + 'permission_group_id' => $value['group'], + ]); + + $role = Role::find(1); + $role->givePermissionTo($permission); + } + + $this->call([ + GenderSeeder::class + ]); + } + + public function data() + { + $data = []; + // list of model permission + $model = ['masters']; + + $permissionGroup = PermissionGroup::create([ + 'name' => 'masters' + ]); + + foreach ($model as $value) { + foreach ($this->crudActions($value) as $action) { + $data[] = ['name' => $action, 'group' => $permissionGroup->id]; + } + } + + return $data; + } + + public function crudActions($name) + { + $actions = []; + // list of permission actions + $crud = ['create', 'read', 'update', 'delete']; + + foreach ($crud as $value) { + $actions[] = $name . '.' . $value; + } + + return $actions; + } } -}