Skip to content

Commit 0e2ccaa

Browse files
committed
feat: (LAR-157) add bulk deletion for banned user
1 parent 4599c9a commit 0e2ccaa

File tree

4 files changed

+38
-3
lines changed

4 files changed

+38
-3
lines changed

app/Filament/Resources/UserResource.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,36 @@ public static function table(Table $table): Table
115115
])
116116
->bulkActions([
117117
Tables\Actions\DeleteBulkAction::make(),
118+
Tables\Actions\BulkAction::make('delete_banned')
119+
->label(__('Supprimer les utilisateurs bannis'))
120+
->icon('heroicon-o-trash')
121+
->color('danger')
122+
->action(function ($records): void {
123+
124+
$bannedUsers = $records->whereNotNull('banned_at');
125+
126+
if ($bannedUsers->isEmpty()) {
127+
Notification::make()
128+
->warning()
129+
->title(__('actions.delete_none'))
130+
->body(__('actions.delete_none_description'))
131+
->send();
132+
133+
return;
134+
}
135+
136+
$bannedUsers->each(function (User $user): void {
137+
$user->delete();
138+
});
139+
140+
Notification::make()
141+
->success()
142+
->title(__('actions.delete_success'))
143+
->body(__('actions.delete_success_description'))
144+
->send();
145+
})
146+
->requiresConfirmation()
147+
->deselectRecordsAfterCompletion(),
118148
]);
119149
}
120150

app/Filament/Resources/UserResource/Pages/ListUsers.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ public function getTabs(): array
1818
'all' => Tab::make(__('global.all')),
1919
'banned' => Tab::make(__('global.banned'))
2020
->modifyQueryUsing(fn ($query) => $query->isBanned()),
21-
'unbanned' => Tab::make(__('global.unbanned'))
22-
->modifyQueryUsing(fn ($query) => $query->isNotBanned()),
2321
];
2422
}
2523
}

lang/en/actions.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,8 @@
1515
'confirm' => 'Confirm',
1616
'start' => 'Start',
1717
'view' => 'View',
18-
18+
'delete_none' => 'No users to delete',
19+
'delete_none_description' => 'No banned users were found in the selection.',
20+
'delete_success' => 'Users successfully deleted.',
21+
'delete_success_description' => 'Only banned users have been deleted.',
1922
];

lang/fr/actions.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,8 @@
1515
'confirm' => 'Confirmer',
1616
'start' => 'Démarrer',
1717
'view' => 'Voir',
18+
'delete_none' => 'Aucun utilisateur à supprimer',
19+
'delete_none_description' => 'Aucun utilisateur banni n\'a été trouvé dans la sélection',
20+
'delete_success' => 'Suppression effectuée',
21+
'delete_success_description' => 'Seuls les utilisateurs bannis ont été supprimés.',
1822
];

0 commit comments

Comments
 (0)