Skip to content

Commit e6a2910

Browse files
committed
add role permissions for legal pages
1 parent aac455d commit e6a2910

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

legal-pages/src/Filament/Admin/Pages/LegalPages.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public static function getNavigationGroup(): ?string
4848

4949
public static function canAccess(): bool
5050
{
51-
return user()?->can('view legalPages');
51+
return user()?->can('view legalPage');
5252
}
5353

5454
public function mount(): void
@@ -74,6 +74,7 @@ public function getFormSchema(): array
7474
foreach (LegalPageType::cases() as $legalPageType) {
7575
$schema[] = MarkdownEditor::make($legalPageType->getId())
7676
->label($legalPageType->getLabel())
77+
->disabled(fn () => !user()?->can('update legalPage'))
7778
->hintActions([
7879
Action::make('view')
7980
->label(trans('filament-actions::view.single.label'))
@@ -82,6 +83,7 @@ public function getFormSchema(): array
8283
->visible(fn (Get $get) => $get($legalPageType->getId())),
8384
Action::make('clear')
8485
->label(trans('legal-pages::strings.clear'))
86+
->authorize(fn () => user()?->can('update legalPage'))
8587
->color('danger')
8688
->icon('tabler-trash')
8789
->action(fn (Set $set) => $set($legalPageType->getId(), null)),
@@ -101,6 +103,7 @@ protected function getHeaderActions(): array
101103
return [
102104
Action::make('save')
103105
->label(trans('filament-panels::resources/pages/edit-record.form.actions.save.label'))
106+
->authorize(fn () => user()?->can('update legalPage'))
104107
->action('save')
105108
->keyBindings(['mod+s']),
106109
];

legal-pages/src/Providers/LegalPagesPluginProvider.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Boy132\LegalPages\Providers;
44

55
use App\Enums\CustomRenderHooks;
6+
use App\Models\Role;
67
use Boy132\LegalPages\Enums\LegalPageType;
78
use Boy132\LegalPages\LegalPagesPlugin;
89
use Filament\Support\Facades\FilamentView;
@@ -13,6 +14,14 @@ class LegalPagesPluginProvider extends ServiceProvider
1314
{
1415
public function boot(): void
1516
{
17+
Role::registerCustomPermissions([
18+
'legalPage' => [
19+
'view',
20+
'update',
21+
],
22+
]);
23+
Role::registerCustomModelIcon('legalPage', 'tabler-gavel');
24+
1625
$footer = null;
1726

1827
foreach (LegalPageType::cases() as $legalPageType) {

0 commit comments

Comments
 (0)