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');