Skip to content

Permit Package

It is a package that helps you manage user permissions that can be managed through filamentphp.

Installation

bash
composer require obelaw/permit

You need to migrate the package tables.

bash
php artisan migrate

After migrating you can create a default user.

bash
php artisan permit:add-default-user

After that, you must add primet plugin to your panel.

php
use Obelaw\Permit\PermitPlugin;

...
->plugin(PermitPlugin::make())
...

How To Use

Add Permissions To Resource

php
use Obelaw\Permit\Attributes\Permissions;
use Obelaw\Permit\Traits\PremitCan;

#[Permissions(
    id: 'permit.accounting.accounts.viewAny',
    title: 'Accounts',
    description: 'Access on accounts at accounting',
    permissions: [
        'permit.accounting.accounts.create' => 'Can Create',
        'permit.accounting.accounts.edit' => 'Can Edit',
        'permit.accounting.accounts.delete' => 'Can Delete',
    ]
)]
class AccountResource extends Resource
{
    use PremitCan;

    ...
}

Add Permissions To Page

php
use Obelaw\Permit\Attributes\PagePermission;
use Obelaw\Permit\Traits\PremitPage;

#[PagePermission(
    id: 'permit.sales.sales_dashboard',
    title: 'Sales Dashboard',
    description: 'A quick look at your sales situation',
    category: 'Sales'
)]
class SalesDashboard extends Dashboard
{
    use PremitPage;

    ...
}

Check Has Premissions

php
use Obelaw\Permit\Facades\Permit;

return Permit::can('permit.sales.sales_dashboard');