add bulk confirm

This commit is contained in:
xiaomlove
2022-09-12 22:41:45 +08:00
parent e5cb98cf35
commit 480ed17b03
5 changed files with 38 additions and 3 deletions
+21 -3
View File
@@ -6,6 +6,7 @@ use App\Filament\OptionsTrait;
use App\Filament\Resources\User\UserResource\Pages;
use App\Filament\Resources\User\UserResource\RelationManagers;
use App\Models\User;
use App\Repositories\UserRepository;
use Filament\Forms;
use Filament\Forms\Components\Grid;
use Filament\Resources\Form;
@@ -15,6 +16,8 @@ use Filament\Tables;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\HtmlString;
class UserResource extends Resource
@@ -85,9 +88,7 @@ class UserResource extends Resource
->actions([
Tables\Actions\ViewAction::make(),
])
->bulkActions([
// Tables\Actions\DeleteBulkAction::make(),
]);
->bulkActions(self::getBulkActions());
}
public static function getRelations(): array
@@ -108,4 +109,21 @@ class UserResource extends Resource
];
}
public static function getBulkActions(): array
{
$actions = [];
if (Auth::user()->class >= User::CLASS_SYSOP) {
$actions[] = Tables\Actions\BulkAction::make('confirm')
->label(__('admin.resources.user.actions.confirm_bulk'))
->requiresConfirmation()
->deselectRecordsAfterCompletion()
->action(function (Collection $records) {
$rep = new UserRepository();
$rep->confirmUser($records->pluck('id')->toArray());
});
}
return $actions;
}
}