From 7e07814581e8c469cee04003807de897ab1e37f9 Mon Sep 17 00:00:00 2001 From: ziming Date: Sun, 24 Mar 2024 15:06:44 +0800 Subject: [PATCH 1/3] Config setting to change model class --- src/Models/Traits/HasFilamentComments.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Models/Traits/HasFilamentComments.php b/src/Models/Traits/HasFilamentComments.php index aa2af2a..88252af 100644 --- a/src/Models/Traits/HasFilamentComments.php +++ b/src/Models/Traits/HasFilamentComments.php @@ -10,7 +10,7 @@ trait HasFilamentComments public function filamentComments(): HasMany { return $this - ->hasMany(FilamentComment::class, 'subject_id') + ->hasMany(config('filament-comments.comment_model'), 'subject_id') ->where('subject_type', $this->getMorphClass()) ->latest(); } From 40bc3d5b5e864cf73cf8b53d04203a655faa91fd Mon Sep 17 00:00:00 2001 From: ziming Date: Sun, 24 Mar 2024 15:10:49 +0800 Subject: [PATCH 2/3] add comment_model setting --- config/filament-comments.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/filament-comments.php b/config/filament-comments.php index 110562a..3e6551b 100644 --- a/config/filament-comments.php +++ b/config/filament-comments.php @@ -15,6 +15,12 @@ 'empty' => 'heroicon-s-chat-bubble-left-right', ], + + /* + * The comment model to be used + */ + 'comment_model' => \Parallax\FilamentComments\Models\FilamentComment::class, + /* * The policy that will be used to authorize actions against comments. */ From 14c3440c8e83602dd963a194b7e74c9f4125f36b Mon Sep 17 00:00:00 2001 From: ziming Date: Sun, 24 Mar 2024 15:17:28 +0800 Subject: [PATCH 3/3] Switch more places to use filament comment model config --- src/Actions/CommentsAction.php | 2 +- src/FilamentCommentsServiceProvider.php | 2 +- src/Infolists/Components/CommentsEntry.php | 2 +- src/Livewire/CommentsComponent.php | 4 ++-- src/Tables/Actions/CommentsAction.php | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Actions/CommentsAction.php b/src/Actions/CommentsAction.php index b53697b..f26778a 100644 --- a/src/Actions/CommentsAction.php +++ b/src/Actions/CommentsAction.php @@ -29,6 +29,6 @@ protected function setUp(): void ->modalWidth(MaxWidth::Medium) ->modalSubmitAction(false) ->modalCancelAction(false) - ->visible(fn (): bool => auth()->user()->can('viewAny', FilamentComment::class)); + ->visible(fn (): bool => auth()->user()->can('viewAny', config('filament-comments.comment_model')); } } diff --git a/src/FilamentCommentsServiceProvider.php b/src/FilamentCommentsServiceProvider.php index a171b97..a90b6d5 100644 --- a/src/FilamentCommentsServiceProvider.php +++ b/src/FilamentCommentsServiceProvider.php @@ -55,7 +55,7 @@ public function packageBooted(): void { Livewire::component('comments', CommentsComponent::class); - Gate::policy(FilamentComment::class, config('filament-comments.model_policy', FilamentCommentPolicy::class)); + Gate::policy(config('filament-comments.comment_model'), config('filament-comments.model_policy', FilamentCommentPolicy::class)); FilamentAsset::register( $this->getAssets(), diff --git a/src/Infolists/Components/CommentsEntry.php b/src/Infolists/Components/CommentsEntry.php index 41d87dc..ab4d7c4 100644 --- a/src/Infolists/Components/CommentsEntry.php +++ b/src/Infolists/Components/CommentsEntry.php @@ -13,6 +13,6 @@ protected function setUp(): void { parent::setUp(); - $this->visible(fn (): bool => auth()->user()->can('viewAny', FilamentComment::class)); + $this->visible(fn (): bool => auth()->user()->can('viewAny', config('filament-comments.comment_model'))); } } diff --git a/src/Livewire/CommentsComponent.php b/src/Livewire/CommentsComponent.php index 280a96e..99fd1fe 100644 --- a/src/Livewire/CommentsComponent.php +++ b/src/Livewire/CommentsComponent.php @@ -27,7 +27,7 @@ public function mount(): void public function form(Form $form): Form { - if (!auth()->user()->can('create', FilamentComment::class)) { + if (!auth()->user()->can('create', config('filament-comments.comment_model'))) { return $form; } @@ -45,7 +45,7 @@ public function form(Form $form): Form public function create(): void { - if (!auth()->user()->can('create', FilamentComment::class)) { + if (!auth()->user()->can('create', config('filament-comments.comment_model'))) { return; } diff --git a/src/Tables/Actions/CommentsAction.php b/src/Tables/Actions/CommentsAction.php index 2769ac8..9b60967 100644 --- a/src/Tables/Actions/CommentsAction.php +++ b/src/Tables/Actions/CommentsAction.php @@ -30,6 +30,6 @@ protected function setUp(): void ->modalWidth(MaxWidth::Medium) ->modalSubmitAction(false) ->modalCancelAction(false) - ->visible(fn (): bool => auth()->user()->can('viewAny', FilamentComment::class)); + ->visible(fn (): bool => auth()->user()->can('viewAny', config('filament-comments.comment_model'))); } }