From 0492d89ab6de8b4c335d46d5bca3df3662773d00 Mon Sep 17 00:00:00 2001 From: Alexander Gabriel Date: Thu, 2 Jul 2026 18:54:16 +0000 Subject: [PATCH] user bei gruppen anzeigen --- .../Resources/Groups/GroupResource.php | 3 +- .../RelationManagers/UsersRelationManager.php | 56 +++++++++++++++++++ .../Resources/Users/Tables/UsersTable.php | 5 ++ app/Filament/Resources/Users/UserResource.php | 1 + 4 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 app/Filament/Resources/Groups/RelationManagers/UsersRelationManager.php diff --git a/app/Filament/Resources/Groups/GroupResource.php b/app/Filament/Resources/Groups/GroupResource.php index 48d0ec8..b2e9f73 100644 --- a/app/Filament/Resources/Groups/GroupResource.php +++ b/app/Filament/Resources/Groups/GroupResource.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources\Groups; use App\Filament\Resources\Groups\Pages\CreateGroup; use App\Filament\Resources\Groups\Pages\EditGroup; use App\Filament\Resources\Groups\Pages\ListGroups; +use App\Filament\Resources\Groups\RelationManagers\UsersRelationManager; use App\Filament\Resources\Groups\Schemas\GroupForm; use App\Filament\Resources\Groups\Tables\GroupsTable; use App\Models\Group; @@ -46,7 +47,7 @@ class GroupResource extends Resource public static function getRelations(): array { return [ - // + UsersRelationManager::class, ]; } diff --git a/app/Filament/Resources/Groups/RelationManagers/UsersRelationManager.php b/app/Filament/Resources/Groups/RelationManagers/UsersRelationManager.php new file mode 100644 index 0000000..9576984 --- /dev/null +++ b/app/Filament/Resources/Groups/RelationManagers/UsersRelationManager.php @@ -0,0 +1,56 @@ +recordTitleAttribute('name') + ->columns(UsersTable::configure($table)->getColumns()) + ->filters([ + // + ]) + ->headerActions([ + CreateAction::make(), + AttachAction::make(), + ]) + ->recordActions([ + ViewAction::make(), + DetachAction::make(), + ]) + ->toolbarActions([ + BulkActionGroup::make([ + DetachBulkAction::make(), + DeleteBulkAction::make(), + ]), + ]); + } +} diff --git a/app/Filament/Resources/Users/Tables/UsersTable.php b/app/Filament/Resources/Users/Tables/UsersTable.php index 4d24e68..a6ccec0 100644 --- a/app/Filament/Resources/Users/Tables/UsersTable.php +++ b/app/Filament/Resources/Users/Tables/UsersTable.php @@ -2,6 +2,7 @@ namespace App\Filament\Resources\Users\Tables; +use App\Filament\Resources\Groups\RelationManagers\UsersRelationManager; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; @@ -19,12 +20,16 @@ class UsersTable ->searchable(), TextColumn::make('email') ->label('Email address') + ->hiddenOn(UsersRelationManager::class) ->searchable(), TextColumn::make('email_verified_at') ->dateTime() + ->hiddenOn(UsersRelationManager::class) + ->toggleable(isToggledHiddenByDefault: true) ->sortable(), TextColumn::make('roles.title') ->label('Rollen') + ->hiddenOn(UsersRelationManager::class) ->toggleable(), TextColumn::make('groups.name') ->label('Gruppen') diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php index 60e966f..28898af 100644 --- a/app/Filament/Resources/Users/UserResource.php +++ b/app/Filament/Resources/Users/UserResource.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources\Users; use App\Filament\Resources\Users\Pages\CreateUser; use App\Filament\Resources\Users\Pages\EditUser; use App\Filament\Resources\Users\Pages\ListUsers; +use App\Filament\Resources\Users\RelationManagers\GroupsRelationManager; use App\Filament\Resources\Users\Schemas\UserForm; use App\Filament\Resources\Users\Tables\UsersTable; use App\Models\User;