refactoring into clusters

This commit is contained in:
salam committed 2026-05-13 10:10:48 +02:00
1 parent 042a5a8b58
commit 48deb69379
97 files changed
+186 -198

No files matched your search

@@ -0,0 +1,11 @@
<?php
namespace App\Filament\Clusters\Verwaltung\Users\Pages;
use App\Filament\Clusters\Verwaltung\Users\UserResource;
use Filament\Resources\Pages\CreateRecord;
class CreateUser extends CreateRecord
{
protected static string $resource = UserResource::class;
}
@@ -0,0 +1,23 @@
<?php
namespace App\Filament\Clusters\Verwaltung\Users\Pages;
use App\Filament\Clusters\Verwaltung\Users\UserResource;
use Filament\Actions\DeleteAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\RestoreAction;
use Filament\Resources\Pages\EditRecord;
class EditUser extends EditRecord
{
protected static string $resource = UserResource::class;
protected function getHeaderActions(): array
{
return [
DeleteAction::make(),
ForceDeleteAction::make(),
RestoreAction::make(),
];
}
}
@@ -0,0 +1,57 @@
<?php
namespace App\Filament\Clusters\Verwaltung\Users\Pages;
use App\Filament\Clusters\Verwaltung\Users\UserResource;
use Filament\Actions\Action;
use Filament\Actions\CreateAction;
use Filament\Forms\Components\TextInput;
use Filament\Resources\Pages\ListRecords;
use Filament\Schemas\Components\Section;
class ListUsers extends ListRecords
{
protected static string $resource = UserResource::class;
protected function getHeaderActions(): array
{
return [
Action::make('inviteUser')
->label('Einladen')
->icon('phosphor-envelope')
->form([
Section::make('Jemanden einladen')
->icon('lucide-user')
->description('Nur mit dieser Einladung können sich weitere Benutzer bei diesem Konto registrieren.')
->schema([
TextInput::make('email')
->label('E-Mail')
->prefixIcon('phosphor-envelope')
->email()
->required()
->belowContent('Die Einladung ist 12 Stunden gültig.'),
]),
])
->action(function ($data) {
$invitation = Invitation::create([
'knoto_id' => auth()->user()->konto_id,
'email' => $data['email'],
]);
// @todo Add email sending here
Notification::make('invitedSuccess')
->body('Der Benutzer wurde erfolgreich eingelanden!')
->success()->send();
}),
CreateAction::make()
->icon('phosphor-file-plus')
->createAnother(false)
->mutateDataUsing(function (array $data): array {
$data['konto_id'] = auth()->user()->konto_id;
return $data;
}),
];
}
}