Files
streamline-emr/docker/_streamline-src/database/seeders/RolesTableSeeder.php
T

119 lines
7.2 KiB
PHP
Executable File

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use Streamline\Enums\Roles;
class RolesTableSeeder extends Seeder {
/**
* Run the database seeders.
*
* @return void
*/
public function run() {
$roles = [
Roles::ADMIN->value, 'Cashier', 'Data Entrants', Roles::DOCTOR->value, 'Finance Manager', 'Hospital Administrator', 'Human Resource Manager', 'IT Coordinator',
'Lab Assistant', 'Lab Clerk', 'Lab Technician', 'Medical Director', 'Midwives', 'Non-clinical users', 'Nursing', 'Nursing - Senior Ward Staff',
'Records Assistant', 'Insurance Manager', 'Patient Receiption Clerks', 'Pharmacy Nurses - Junior', 'Pharmacy Technicians - Senior',
'Enrolled Nurse', 'Specialist Nurses', 'Stores', 'Triage Nurses', Roles::SUPER_ADMIN->value
];
foreach ($roles as $role) {
Role::FirstOrCreate(['name' => $role]);
}
/*
* Assign ADMIN role all permissions
*/
$adminRole = Role::firstOrCreate(['name' => Roles::ADMIN->value]);
$adminRole->givePermissionTo(Permission::all());
$superAdminRole = Role::firstOrCreate(['name' => Roles::SUPER_ADMIN->value]);
$superAdminRole->givePermissionTo(Permission::all());
$dataEntrant = Role::firstOrCreate(['name' => 'Data Entrants']);
$dataEntrant->givePermissionTo(Permission::where(['permission_category_id' => 1])->where(['permission_category_id' => 4])->get());
$dataEntrant->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$doctors = Role::firstOrCreate(['name' => Roles::DOCTOR->value]);
$doctors->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$doctors->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$doctors->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$insurance_manager = Role::firstOrCreate(['name' => 'Insurance Manager']);
$insurance_manager->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$insurance_manager->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$insurance_manager->givePermissionTo(Permission::where(['permission_category_id' => 3])->get());
$pharmacy_technicians_senior = Role::firstOrCreate(['name' => 'Pharmacy Technicians - Senior']);
$pharmacy_technicians_senior->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$pharmacy_technicians_senior->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$pharmacy_technicians_senior->givePermissionTo(Permission::where(['permission_category_id' => 3])->get());
$hospital_administrator = Role::firstOrCreate(['name' => 'Hospital Administrator']);
$hospital_administrator->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$hospital_administrator->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$hospital_administrator->givePermissionTo(Permission::where(['permission_category_id' => 3])->get());
$finance_manager = Role::firstOrCreate(['name' => 'Finance Manager']);
$finance_manager->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$finance_manager->givePermissionTo(Permission::where(['permission_category_id' => 3])->get());
$finance_manager->givePermissionTo(Permission::where(['permission_category_id' => 7])->get());
$finance_manager->givePermissionTo(Permission::where(['permission_category_id' => 8])->get());
$human_resource_manager = Role::firstOrCreate(['name' => 'Human Resource Manager']);
$human_resource_manager->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$human_resource_manager->givePermissionTo(Permission::where(['permission_category_id' => 9])->get());
$triage_nurses = Role::firstOrCreate(['name' => 'Triage Nurses']);
$triage_nurses->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$triage_nurses->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$specialist_nurses = Role::firstOrCreate(['name' => 'Specialist Nurses']);
$specialist_nurses->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$specialist_nurses->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$IT_cordinator = Role::firstOrCreate(['name' => 'IT Coordinator']);
$IT_cordinator->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$IT_cordinator->givePermissionTo(Permission::where(['permission_category_id' => 11])->get());
$IT_cordinator->givePermissionTo(Permission::where(['permission_category_id' => 9])->get());
$IT_cordinator->givePermissionTo(Permission::where(['permission_category_id' => 5])->get());
$nursing = Role::firstOrCreate(['name' => 'Nursing']);
$nursing->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$nursing->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$nursing->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$reception_clerks = Role::firstOrCreate(['name' => 'Patient Receiption Clerks']);
$reception_clerks->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$reception_clerks->givePermissionTo(Permission::where(['permission_category_id' => 2])->get());
$reception_clerks->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$lab_technicians = Role::firstOrCreate(['name' => 'Lab Technician']);
$lab_technicians->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$lab_technicians->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$lab_technicians->givePermissionTo(Permission::where(['permission_category_id' => 10])->get());
$lab_assistants = Role::firstOrCreate(['name' => 'Lab Assistant']);
$lab_assistants->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$lab_assistants->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$lab_assistants->givePermissionTo(Permission::where(['permission_category_id' => 10])->get());
$lab_clerk = Role::firstOrCreate(['name' => 'Lab Clerk']);
$lab_clerk->givePermissionTo(Permission::where(['permission_category_id' => 1])->get());
$lab_clerk->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$lab_clerk->givePermissionTo(Permission::where(['permission_category_id' => 10])->get());
$lab_clerk = Role::firstOrCreate(['name' => 'Midwives']);
$lab_clerk->givePermissionTo(Permission::where(['permission_category_id' => 4])->get());
$lab_clerk->givePermissionTo(Permission::where(['permission_category_id' => 10])->get());
}
}