224 lines
7.0 KiB
PHP
224 lines
7.0 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' => 'Pemdaftaran pembida di cawangan'
|
|
]);
|
|
Permission::create([
|
|
'name' => 'jananotis',
|
|
'description' => 'Jana Notis Lelong'
|
|
]);
|
|
|
|
//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'
|
|
]);
|
|
|
|
//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');
|
|
|
|
$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');
|
|
|
|
$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);
|
|
}
|
|
}
|