Files
lelong/database/seeders/RolesSeeder.php
T
2022-04-28 13:34:05 +08:00

261 lines
8.4 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',
'description' => 'Pengurusan Pengguna'
]);
Permission::create([
'name' => 'pengurusanlelongan',
'description' => 'Pengurusan Lelong'
]);
Permission::create([
'name' => 'analisa',
'description' => 'Analisa lelong'
]);
Permission::create([
'name' => 'sistem',
'description' => 'Pengurusan connection database dan environment system'
]);
//khazanah
Permission::create([
'name' => 'semakanmarhun',
'description' => 'Semakan marhun'
]);
Permission::create([
'name' => 'kemaskinimarhun',
'description' => 'Kemaskini marhun'
]);
//teller
// Permission::create([
// 'name' => 'pengesahanbayarancash',
// 'description' => 'Pengesahan bayaran pembida di cawangan (cash)'
// ]);
//pengurus cawangan
Permission::create([
'name' => 'pendaftaranpembida',
'description' => 'Pendaftaran pembida di cawangan'
]);
Permission::create([
'name' => 'jananotis',
'description' => 'Jana Notis Lelong'
]);
Permission::create([
'name' => 'pengesahanbayarancash',
'description' => 'Pengesahan bayaran pembida di cawangan (cash)'
]);
Permission::create([
'name' => 'serahan',
'description' => 'Penyerahan Marhun Kepada Pembida Yang Menang'
]);
Permission::create([
'name' => 'tangguhlelong',
'description' => 'Penangguhan Lelong Cawangan'
]);
//jurulelong
Permission::create([
'name' => 'pendaftaranbatch',
'description' => 'Daftar batch lelong'
]);
Permission::create([
'name' => 'kemaskinihargaasas',
'description' => 'Kemaskini harga asas mengikut harga emas semasa'
]);
Permission::create([
'name' => 'import',
'description' => 'Import senarai marhun cawangan to LIVE'
]);
Permission::create([
'name' => 'lelongan',
'description' => '(online/offline) lelong mengikut cawangan'
]);
Permission::create([
'name' => 'janapemenang',
'description' => 'Pemilihan pemenang bagi bidaan paling tinggi'
]);
//operasi
Permission::create([
'name' => 'report',
'description' => 'Full report lelongan'
]);
Permission::create([
'name' => 'tangguhan',
'description' => 'Tangguh lelong'
]);
Permission::create([
'name' => 'pengesahanpembida',
'description' => 'Pengesahan Pembida Baru'
]);
Permission::create([
'name' => 'pengesahan',
'description' => 'Pengesahan Perubahan Mutu Marhun'
]);
Permission::create([
'name' => 'notistamatkontrak',
'description' => 'Notis 30 Hari Sebelum Tamat Kontrak'
]);
Permission::create([
'name' => 'importdata',
'description' => 'Import Data Cawangan Dari LIVE to Master'
]);
//account
Permission::create([
'name' => 'pengesahanbayaran',
'description' => 'Pengesahan pembayaran pembida dalam akaun yang dibuat melalui (cdm,fpx)'
]);
//pembida
Permission::create([
'name' => 'bidaan',
'description' => 'Pendaftaran bagi yang belum mempunyai akaun di cawangan ataupun kata laluan atas talian'
]);
Permission::create([
'name' => 'pembayaran',
'description' => 'Pembayaran pemenang'
]);
// create roles and assign existing permissions
$role1 = Role::create(['name' => 'admin']);
$role1->givePermissionTo('pengguna');
$role1->givePermissionTo('pengurusanlelongan');
$role1->givePermissionTo('analisa');
$role1->givePermissionTo('sistem');
$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');
$role4->givePermissionTo('pengesahanbayarancash');
$role4->givePermissionTo('serahan');
$role4->givePermissionTo('tangguhlelong');
$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']);
$role6->givePermissionTo('pendaftaranbatch');
$role6->givePermissionTo('report');
$role6->givePermissionTo('tangguhan');
$role6->givePermissionTo('analisa');
$role6->givePermissionTo('pengesahanpembida');
$role6->givePermissionTo('pengesahan');
$role6->givePermissionTo('notistamatkontrak');
$role6->givePermissionTo('kemaskinihargaasas');
$role6->givePermissionTo('importdata');
$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',
'username' => 'Admin',
'email' => 'admin@example.com',
'user_type' => 1
]);
$user->assignRole($role1);
$user = \App\Models\User::factory()->create([
'name' => 'Khazanah',
'username' => 'Khazanah',
'email' => 'khazanah@example.com',
'user_type' => 1
]);
$user->assignRole($role2);
$user = \App\Models\User::factory()->create([
'name' => 'Teller',
'username' => 'Teller',
'email' => 'teller@example.com',
'user_type' => 1
]);
$user->assignRole($role3);
$user = \App\Models\User::factory()->create([
'name' => 'Pengurus Cawangan',
'username' => 'PC',
'email' => 'penguruscawangan@example.com',
'user_type' => 1
]);
$user->assignRole($role4);
$user = \App\Models\User::factory()->create([
'name' => 'Juru Lelong',
'username' => 'Juru Lelong',
'email' => 'jurulelong@example.com',
'user_type' => 1
]);
$user->assignRole($role5);
$user = \App\Models\User::factory()->create([
'name' => 'Operasi',
'username' => 'Operasi',
'email' => 'operasi@example.com',
'user_type' => 1
]);
$user->assignRole($role6);
$user = \App\Models\User::factory()->create([
'name' => 'Account',
'username' => 'Account',
'email' => 'account@example.com',
'user_type' => 1
]);
$user->assignRole($role7);
$user = \App\Models\User::factory()->create([
'name' => 'Pembida',
'username' => 'Pembida',
'email' => 'pembida@example.com',
'user_type' => 2
]);
$user->assignRole($role8);
}
}