Files
lelong/database/seeders/RolesSeeder.php
T
Azfar Arsyad 55ee876020 first push
2021-11-14 09:15:18 +08:00

143 lines
4.9 KiB
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
use Spatie\Permission\PermissionRegistrar;
class RolesSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Reset cached roles and permissions
app()[PermissionRegistrar::class]->forgetCachedPermissions();
// create permissions
//admin
Permission::create(['name' => 'pengguna']);
Permission::create(['name' => 'pengurusanlelongan']);
Permission::create(['name' => 'analisa']);
//khazanah
Permission::create(['name' => 'semakanmarhun']);
Permission::create(['name' => 'kemaskinimarhun']);
//teller
Permission::create(['name' => 'pengesahanbayarancash']);
//pengurus cawangan
Permission::create(['name' => 'pendaftaranpembida']);
Permission::create(['name' => 'jananotis']);
//jurulelong
Permission::create(['name' => 'pendaftaranbatch']);
Permission::create(['name' => 'kemaskinihargaasas']);
Permission::create(['name' => 'import']);
Permission::create(['name' => 'lelongan']);
Permission::create(['name' => 'janapemenang']);
//operasi
//Permission::create(['name' => 'pendaftaranbatch']); di jurulelong dah ada
Permission::create(['name' => 'report']);
Permission::create(['name' => 'tangguhan']);
//account
Permission::create(['name' => 'pengesahanbayaran']);
//pembida
// Permission::create(['name' => 'pendaftaranpembida']); di pc dah ada
Permission::create(['name' => 'bidaan']);
Permission::create(['name' => 'pembayaran']);
// create roles and assign existing permissions
$role1 = Role::create(['name' => 'admin']);
$role1->givePermissionTo('pengguna');
$role1->givePermissionTo('pengurusanlelongan');
$role1->givePermissionTo('analisa');
$role2 = Role::create(['name' => 'khazanah']);
$role2->givePermissionTo('semakanmarhun');
$role2->givePermissionTo('kemaskinimarhun');
$role3 = Role::create(['name' => 'teller']);
$role3->givePermissionTo('pengesahanbayarancash');
$role4 = Role::create(['name' => 'pengurus-cawangan']);
$role4->givePermissionTo('pendaftaranpembida');
$role4->givePermissionTo('jananotis');
$role5 = Role::create(['name' => 'jurulelong']);
$role5->givePermissionTo('pendaftaranbatch');
$role5->givePermissionTo('kemaskinihargaasas');
$role5->givePermissionTo('import');
$role5->givePermissionTo('lelongan');
$role5->givePermissionTo('janapemenang');
$role6 = Role::create(['name' => 'operasi']);
$role5->givePermissionTo('pendaftaranbatch');
$role6->givePermissionTo('report');
$role6->givePermissionTo('tangguhan');
$role7 = Role::create(['name' => 'account']);
$role7->givePermissionTo('pengesahanbayaran');
$role8 = Role::create(['name' => 'pembida']);
$role8->givePermissionTo('pendaftaranpembida');
$role8->givePermissionTo('bidaan');
$role8->givePermissionTo('pembayaran');
// $role3 = Role::create(['name' => 'Super-Admin']);
// gets all permissions via Gate::before rule; see AuthServiceProvider
// create demo users
$user = \App\Models\User::factory()->create([
'name' => 'Admin',
'email' => 'admin@example.com',
]);
$user->assignRole($role1);
$user = \App\Models\User::factory()->create([
'name' => 'Khazanah',
'email' => 'khazanah@example.com',
]);
$user->assignRole($role2);
$user = \App\Models\User::factory()->create([
'name' => 'Teller',
'email' => 'teller@example.com',
]);
$user->assignRole($role3);
$user = \App\Models\User::factory()->create([
'name' => 'Pengurus Cawangan',
'email' => 'penguruscawangan@example.com',
]);
$user->assignRole($role4);
$user = \App\Models\User::factory()->create([
'name' => 'Juru Lelong',
'email' => 'jurulelong@example.com',
]);
$user->assignRole($role5);
$user = \App\Models\User::factory()->create([
'name' => 'Operasi',
'email' => 'operasi@example.com',
]);
$user->assignRole($role6);
$user = \App\Models\User::factory()->create([
'name' => 'Account',
'email' => 'account@example.com',
]);
$user->assignRole($role7);
$user = \App\Models\User::factory()->create([
'name' => 'Pembida',
'email' => 'pembida@example.com',
]);
$user->assignRole($role8);
}
}