Files
lelong/database/seeders/RolesSeeder.php
T
2023-10-30 09:31:09 +08:00

415 lines
14 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'
]);
Permission::create([
'name' => 'pengurusangambar',
'description' => 'Pengurusan gambar mengikut pilihan parameter pengguna'
]);
Permission::create([
'name' => 'pengurusanuploaddownload',
'description' => 'Pengurusan upload download'
]);
//khazanah
Permission::create([
'name' => 'semakanmarhun',
'description' => 'Semakan marhun'
]);
Permission::create([
'name' => 'kemaskinimarhun',
'description' => 'Kemaskini marhun'
]);
//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'
]);
Permission::create([
'name' => 'WTDcaw',
'description' => 'Wang Tidak Dituntut 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'
]);
Permission::create([
'name' => 'tetapan',
'description' => 'Tetapan Parameter'
]);
Permission::create([
'name' => 'backdate',
'description' => 'Laporan Back Date'
]);
Permission::create([
'name' => 'reportkali',
'description' => 'Laporan By Batch Lelong'
]);
Permission::create([
'name' => 'reportbycaw',
'description' => 'Report By Cawangan(operasi)'
]);
Permission::create([
'name' => 'parameter',
'description' => 'Parameter'
]);
Permission::create([
'name' => 'WTD',
'description' => 'Wang Tidak Dituntut'
]);
//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'
]);
Permission::create([
'name' => 'sebelumdaftarbatch',
'description' => 'Janaan Data Outstanding Sebelum Daftar Batch Lelong'
]);
Permission::create([
'name' => 'lelonghargajual',
'description' => 'Tambah Hargajual Lelong KB1'
]);
Permission::create([
'name' => 'reportcawkhas',
'description' => 'Laporan Lelong Khas'
]);
//callcenter
Permission::create([
'name' => 'notisperingatan',
'description' => 'Penjanaan Notis Peringatan Oleh Call Center'
]);
Permission::create([
'name' => 'skoptugasan',
'description' => 'Skop Tugasan Cawangan Kegunaan E-KPI'
]);
// create roles and assign existing permissions
$role1 = Role::create(['name' => 'admin']);
$role1->givePermissionTo('pengguna');
$role1->givePermissionTo('pengurusanlelongan');
$role1->givePermissionTo('analisa');
$role1->givePermissionTo('sistem');
$role1->givePermissionTo('pengurusangambar');
$role1->givePermissionTo('pengurusanuploaddownload');
$role2 = Role::create(['name' => 'khazanah']);
$role2->givePermissionTo('semakanmarhun');
$role2->givePermissionTo('kemaskinimarhun');
$role2->givePermissionTo('pengurusangambar');
$role3 = Role::create(['name' => 'penilai']);
$role3->givePermissionTo('semakanmarhun');
$role3->givePermissionTo('kemaskinimarhun');
$role3->givePermissionTo('pengurusangambar');
$role4 = Role::create(['name' => 'pengurus-cawangan']);
$role4->givePermissionTo('pendaftaranpembida');
$role4->givePermissionTo('jananotis');
$role4->givePermissionTo('pengesahan');
$role4->givePermissionTo('pengesahanbayarancash');
$role4->givePermissionTo('serahan');
$role4->givePermissionTo('tangguhlelong');
$role4->givePermissionTo('report');
$role4->givePermissionTo('pengurusangambar');
$role4->givePermissionTo('WTDcaw');
$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('pengguna');
$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');
$role6->givePermissionTo('tetapan');
$role6->givePermissionTo('jananotis');
$role6->givePermissionTo('backdate');
$role6->givePermissionTo('reportkali');
$role6->givePermissionTo('pengurusangambar');
$role6->givePermissionTo('reportbycaw');
$role6->givePermissionTo('parameter');
$role6->givePermissionTo('WTD');
$role7 = Role::create(['name' => 'account']);
$role7->givePermissionTo('pengesahanbayaran');
$role7->givePermissionTo('pengesahanpembida');
$role7->givePermissionTo('report');
$role8 = Role::create(['name' => 'pembida']);
$role8->givePermissionTo('pendaftaranpembida');
$role8->givePermissionTo('bidaan');
$role8->givePermissionTo('pembayaran');
$role9 = Role::create(['name' => 'pengurus-cawangan-khas']);
$role9->givePermissionTo('sebelumdaftarbatch');
$role9->givePermissionTo('lelonghargajual');
$role9->givePermissionTo('reportcawkhas');
$role10 = Role::create(['name' => 'callcenter']);
$role10->givePermissionTo('notisperingatan');
$role11 = Role::create(['name' => 'pengurus-operasi']);
$role11->givePermissionTo('pengurusangambar');
$role11->givePermissionTo('pengesahan');
$role11->givePermissionTo('report');
$role11->givePermissionTo('pengesahanpembida');
$role11->givePermissionTo('pendaftaranbatch');
$role12 = Role::create(['name' => 'operasi-kpi']);
$role12->givePermissionTo('skoptugasan');
$role13 = Role::create(['name' => 'hr']);
$role13->givePermissionTo('skoptugasan');
$role14 = Role::create(['name' => 'pemasaran']);
$role14->givePermissionTo('pengurusangambar');
$role14->givePermissionTo('pendaftaranbatch');
// $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' => 'Penilai',
'username' => 'Penilai',
'email' => 'penilai@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,
'nokp' => '980430031111',
'notelbimbit' => '0198080123'
]);
$user->assignRole($role8);
$user = \App\Models\User::factory()->create([
'name' => 'Amir',
'username' => 'Amir',
'email' => 'amir@example.com',
'user_type' => 2,
'nokp' => '980430032222',
'notelbimbit' => '0198080000'
]);
$user->assignRole($role8);
$user = \App\Models\User::factory()->create([
'name' => 'Pengurus Cawangan Khas',
'username' => 'PCKB1',
'kodcaw' => 'KB1',
'email' => 'penguruscawanganKB1@example.com',
'user_type' => 1
]);
$user->assignRole($role9);
$user = \App\Models\User::factory()->create([
'name' => 'Call Center',
'username' => 'callcenter',
'email' => 'callcenter@example.com',
'user_type' => 1
]);
$user->assignRole($role10);
$user = \App\Models\User::factory()->create([
'name' => 'Operasi KPI',
'username' => 'operasikpi',
'email' => 'operasikpi@example.com',
'user_type' => 1
]);
$user->assignRole($role12);
$user = \App\Models\User::factory()->create([
'name' => 'HR',
'username' => 'hr',
'email' => 'hr@example.com',
'user_type' => 1
]);
$user->assignRole($role13);
$user = \App\Models\User::factory()->create([
'name' => 'Pemasaran',
'username' => 'pemasaran',
'email' => 'pemasaran@example.com',
'user_type' => 1
]);
$user->assignRole($role14);
}
}