Files
streamline-emr/docker/streamline-src/database/seeders/RolesTableSeeder.php
T
alec.turner 4a89356390 Import latest app updates from streamline
An updated set of source files and initialization was provided by streamline to
address issues observed during initial testing. These files have been updated in
order to generate a new set of app images.
2024-04-11 11:16:51 -07:00

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());
}
}