reksmey/filament-spatie-roles-permissions

This package is abandoned and no longer maintained. The author suggests using the bezhansalleh/filament-shield package instead.

filament-spatie-roles-permissions

v1.1.0 2022-01-12 10:43 UTC

This package is auto-updated.

Last update: 2022-03-18 01:39:40 UTC


README

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
For authorization, Filament will observe any model policies that are registered in your app

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.