widiu7omo / filament-bandel
带 Filament Bandel 的禁止模型
v2.0.1
2024-05-24 11:26 UTC
Requires
- php: ^8.1
- cybercog/laravel-ban: ^4.8
- filament/filament: ^3.0
- illuminate/contracts: ^11.8
- spatie/laravel-package-tools: ^1.14
Requires (Dev)
- nunomaduro/collision: ^8.1
- pestphp/pest: ^2.4
- pestphp/pest-plugin-laravel: ^2.0
README
此代码从以下项目分支而来 - Truong Thanh Tung Filament Ban
简介
我们在后台使用 cybercog 的 laravel-ban。
要求
- Laravel 10
- FilamentPHP
安装
您可以通过 composer 安装此软件包
composer require widiu7omo/filament-bandel
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="filament-bandel-migrations"
php artisan migrate
您可以使用以下命令发布和运行翻译
php artisan vendor:publish --tag="filament-bandel-translations"
您可以使用以下命令从 cybercog/laravel-ban 发布配置文件
php artisan vendor:publish --tag="ban-config"
准备可被禁止的模型
use Cog\Contracts\Ban\Bannable as BannableContract; use Cog\Laravel\Ban\Traits\Bannable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements BannableContract { use Bannable; }
准备可被禁止模型数据库表
可被禁止模型必须有一个名为 banned_at
的 nullable timestamp
列。此值用作标志,简化了检查用户是否被禁止。如果您正在尝试使默认的 Laravel 用户模型成为可被禁止的,可以使用以下示例。
在 Filament 资源中注册禁止操作
在您的模型资源内部注册 BanAction
和 UnbanAction
操作。
public static function table(Table $table): Table { return $table ->actions([ // ...rest, \Widiu7omo\FilamentBandel\Actions\BanAction::make(), \Widiu7omo\FilamentBandel\Actions\UnbanAction::make() ]); }
在 Filament 资源中注册批量禁止/解禁操作
在您的模型资源内部注册 BanBulkAction
和 UnbanBulkAction
操作。
public static function table(Table $table): Table { return $table ->prependBulkActions([ // ...rest \Widiu7omo\FilamentBandel\Actions\BanBulkAction::make('banned_model'), \Widiu7omo\FilamentBandel\Actions\UnbanBulkAction::make('unbanned_model'), ]); }
更新日志
有关最近更改的更多信息,请参阅 更新日志。
贡献
有关详细信息,请参阅 贡献指南。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
鸣谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。