create created model event and adding role and permission seeder
This commit is contained in:
@@ -6,5 +6,17 @@ use Spatie\Permission\Models\Permission as Model;
|
|||||||
|
|
||||||
class Permission extends Model
|
class Permission extends Model
|
||||||
{
|
{
|
||||||
//
|
/**
|
||||||
|
* @inheritdoc
|
||||||
|
*/
|
||||||
|
public static function boot()
|
||||||
|
{
|
||||||
|
parent::boot();
|
||||||
|
|
||||||
|
static::created(function (Permission $permission) {
|
||||||
|
if ($role = Role::where('name', 'superuser')->first()) {
|
||||||
|
$role->permissions()->attach([$permission->id]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace Database\Seeders;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Models\Permission;
|
||||||
|
use App\Models\Role;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
@@ -35,5 +37,21 @@ class InitialSeeder extends Seeder
|
|||||||
|
|
||||||
$user->email_verified_at = now();
|
$user->email_verified_at = now();
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
|
Role::create([
|
||||||
|
'name' => 'superuser',
|
||||||
|
'guard_name' => 'web',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$su->assignRole('superuser');
|
||||||
|
|
||||||
|
collect(['user', 'permission', 'role', 'menu'])->each(function ($name) {
|
||||||
|
collect(['create', 'read', 'update', 'delete'])->each(function ($ability) use ($name) {
|
||||||
|
Permission::create([
|
||||||
|
'name' => sprintf('%s %s', $ability, $name),
|
||||||
|
'guard_name' => 'web',
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user