Ekapp/skolehjem/database/seeds/RoleSeeder.php

49 lines
1.7 KiB
PHP
Raw Normal View History

2020-07-28 08:22:45 +00:00
<?php
use Illuminate\Database\Seeder;
class RoleSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$roles = [
2020-07-29 11:28:25 +00:00
"Administrator" => "Administrator",
2020-07-30 10:28:05 +00:00
"Bruger" => "Bruger",
2020-07-28 08:22:45 +00:00
];
foreach ($roles as $key => $value) {
try {
if (\Spatie\Permission\Models\Role::findByName($key))
continue;
} catch (Exception $e) {
2020-07-30 10:28:05 +00:00
$role = new \Spatie\Permission\Models\Role();
2020-07-28 08:22:45 +00:00
2020-07-30 10:28:05 +00:00
$role->name = $key;
$role->description = $value;
2020-07-28 08:22:45 +00:00
2020-07-30 10:28:05 +00:00
$role->save();
2020-07-28 08:22:45 +00:00
}
}
2020-07-30 10:28:05 +00:00
//Give all permissions to Administrator (id: 1)
foreach (\Spatie\Permission\Models\Permission::all() as $permission) {
\Spatie\Permission\Models\Role::query()->find(1)->get()[0]->givePermissionTo($permission);
}
//Give permissions to Bruger (id: 2)
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("event.list");
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("link.external.list");
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("contact.list");
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("feedback.create");
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("menuplan.list");
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("washing.machine.reservation.create");
\Spatie\Permission\Models\Role::query()->find(2)->get()[0]->givePermissionTo("washing.machine.reservation.delete");
2020-07-28 08:22:45 +00:00
}
}