Skip to content
This repository has been archived by the owner on Feb 25, 2022. It is now read-only.

reksmeysrey/filament-spatie-roles-permissions

Repository files navigation

Screenshot

image

Description

Latest Version on Packagist Total Downloads GitHub Actions

This plugin is built on top of Spatie's Permission package.

Installation

You can install the package via composer:

composer require reksmey/filament-spatie-roles-permissions

Since the package depends on Spatie's Permission package. You have to publish the migrations by running:

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"

Now you should add any other configurations needed for the Spatie-Permission package.

Usage

You can add this to your form method in your UserResource

return $form->schema([
    ...
    BelongsToManyMultiSelect::make('roles')->relationship('roles', 'name')
    ...
    ...
])

Advance Usage

You can publish permissions seeders in additional permissions. Sometimes you may add more action such as download-pdf, export, etc.

php artisan vendor:publish --tag=filament-spatie-roles-and-permissions-seeders

Then

php artisan db:seed --class=RolesAndPermissionsSeeder

Customize RoleResource

  • publish service provider
    php artisan vendor:publish --tag=filament-spatie-roles-and-permissions-provider
  • add the package to the extra.laravel.dont-discover key in composer.json, e.g.
    "extra": {
      "laravel": {
        "dont-discover": [
          "reksmey/filament-spatie-roles-permissions"
        ]
      }
    }
  • publish RoleResource
    php artisan filament-spatie-roles-permissions:publish-role-resource
  • you can customize RoleResource in App\Filament

Hope you enjoy it ❤️

Security

If you discover any security related issues, please create an issue.

Credits

License

The MIT License (MIT). Please see License File for more information.