Skip to content

Commit f4dd43b

Browse files
feat: [LAR-30] Add filament resource user in cpanel (#201)
2 parents 333d46f + d627d34 commit f4dd43b

File tree

5 files changed

+4273
-0
lines changed

5 files changed

+4273
-0
lines changed
+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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(name: 'Points')
34+
->getStateUsing(fn (User $user) => $user->getPoints().' XP')
35+
->sortable(),
36+
TextColumn::make(name: 'created_at')
37+
->label('Date de création'),
38+
TextColumn::make(name: 'created_at')
39+
->label('Date de création'),
40+
])
41+
->filters([
42+
//
43+
])
44+
->actions([
45+
ActionGroup::make([
46+
Tables\Actions\DeleteAction::make(),
47+
]),
48+
])
49+
->bulkActions([
50+
Tables\Actions\BulkActionGroup::make([
51+
Tables\Actions\DeleteBulkAction::make(),
52+
]),
53+
]);
54+
}
55+
56+
public static function getPages(): array
57+
{
58+
return [
59+
'index' => Pages\ListUsers::route('/'),
60+
];
61+
}
62+
}
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)