Skip to content

Commit d95248a

Browse files
feat: [LAR-30] Add filament resource user in cpanel
1 parent 4d67906 commit d95248a

File tree

4 files changed

+4250
-0
lines changed

4 files changed

+4250
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Filament\Resources;
6+
7+
use App\Filament\Resources\UserResource\Pages;
8+
use App\Models\User;
9+
use Filament\Resources\Resource;
10+
use Filament\Tables;
11+
use Filament\Tables\Actions\ActionGroup;
12+
use Filament\Tables\Columns\TextColumn;
13+
use Filament\Tables\Table;
14+
use Illuminate\Database\Eloquent\Builder;
15+
16+
final class UserResource extends Resource
17+
{
18+
protected static ?string $model = User::class;
19+
20+
protected static ?string $navigationIcon = 'heroicon-o-user';
21+
22+
public static function table(Table $table): Table
23+
{
24+
return $table
25+
->modifyQueryUsing(function (Builder $query): void {
26+
$query->withoutRole(['admin', 'moderator']);
27+
})
28+
->columns([
29+
TextColumn::make('name')
30+
->label('Nom'),
31+
TextColumn::make('email')
32+
->label('Email'),
33+
TextColumn::make('username')
34+
->label('Username'),
35+
TextColumn::make(name: 'Points')
36+
->getStateUsing(fn (User $user) => $user->getPoints().' XP')
37+
->sortable(),
38+
TextColumn::make(name: 'created_at')
39+
->label('Date de création'),
40+
TextColumn::make(name: 'created_at')
41+
->label('Date de création'),
42+
])
43+
->filters([
44+
//
45+
])
46+
->actions([
47+
ActionGroup::make([
48+
Tables\Actions\DeleteAction::make(),
49+
]),
50+
])
51+
->bulkActions([
52+
Tables\Actions\BulkActionGroup::make([
53+
Tables\Actions\DeleteBulkAction::make(),
54+
]),
55+
]);
56+
}
57+
58+
public static function getPages(): array
59+
{
60+
return [
61+
'index' => Pages\ListUsers::route('/'),
62+
];
63+
}
64+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Filament\Resources\UserResource\Pages;
6+
7+
use App\Filament\Resources\UserResource;
8+
use Filament\Resources\Pages\ListRecords;
9+
10+
final class ListUsers extends ListRecords
11+
{
12+
protected static string $resource = UserResource::class;
13+
}

0 commit comments

Comments
 (0)