diff --git a/app/Filament/Resources/Kontos/Tables/KontosTable.php b/app/Filament/Resources/Kontos/Tables/KontosTable.php index 48e7b68..6c28ef6 100644 --- a/app/Filament/Resources/Kontos/Tables/KontosTable.php +++ b/app/Filament/Resources/Kontos/Tables/KontosTable.php @@ -44,34 +44,36 @@ class KontosTable TextColumn::make('company')->label('Firma') ->description(fn ($record): string => $record->address.', '.$record->location), - TextColumn::make('option.name') + TextColumn::make('plan.name') ->icon(Heroicon::CurrencyEuro) // ->iconColor('success') // ->badge() ->label('Plan') - ->description(fn ($record): string => $record->option->payment_plan->name), + ->description(fn ($record): string => $record->plan->description) + ->wrap(), - TextColumn::make('gutachten_abgeschlossen') + TextColumn::make('guthaben') ->size(TextSize::Large) ->weight(FontWeight::Bold) - ->label('Abgeschlossen') + ->label('Fertig') ->color('primary') ->description('Gutachten') ->alignCenter(), - TextColumn::make('gutachten_zahl') + TextColumn::make('abgeschlossen') ->size(TextSize::Large) ->weight(FontWeight::Bold) - ->label('Freigeschalted') + ->label('Kredit') ->color('success') ->description('Gutachten') ->alignCenter(), ]) ->recordActions([ - EditAction::make(), + EditAction::make()->label(''), Action::make('Laden') + ->label('') ->icon('heroicon-o-credit-card') - ->color('warning') + ->color('danger') ->schema([ TextInput::make('subject')->required(), RichEditor::make('body')->required(), diff --git a/app/Filament/Resources/Methodes/MethodeResource.php b/app/Filament/Resources/Methodes/MethodeResource.php index 7778852..bed3984 100644 --- a/app/Filament/Resources/Methodes/MethodeResource.php +++ b/app/Filament/Resources/Methodes/MethodeResource.php @@ -3,8 +3,6 @@ namespace App\Filament\Resources\Methodes; use App\Filament\Clusters\Administration\AdministrationCluster; -use App\Filament\Resources\Methodes\Pages\CreateMethode; -use App\Filament\Resources\Methodes\Pages\EditMethode; use App\Filament\Resources\Methodes\Pages\ListMethodes; use App\Filament\Resources\Methodes\Schemas\MethodeForm; use App\Filament\Resources\Methodes\Tables\MethodesTable; @@ -43,19 +41,10 @@ class MethodeResource extends Resource return MethodesTable::configure($table); } - public static function getRelations(): array - { - return [ - // - ]; - } - public static function getPages(): array { return [ 'index' => ListMethodes::route('/'), - 'create' => CreateMethode::route('/create'), - 'edit' => EditMethode::route('/{record}/edit'), ]; } diff --git a/app/Filament/Resources/Methodes/Pages/EditMethode.php b/app/Filament/Resources/Methodes/Pages/EditMethode.php index 0bd13ab..0d01667 100644 --- a/app/Filament/Resources/Methodes/Pages/EditMethode.php +++ b/app/Filament/Resources/Methodes/Pages/EditMethode.php @@ -13,7 +13,7 @@ class EditMethode extends EditRecord protected function getHeaderActions(): array { return [ - DeleteAction::make(), + // DeleteAction::make(), ]; } } diff --git a/app/Filament/Resources/Methodes/Pages/ListMethodes.php b/app/Filament/Resources/Methodes/Pages/ListMethodes.php index 7a376de..f191682 100644 --- a/app/Filament/Resources/Methodes/Pages/ListMethodes.php +++ b/app/Filament/Resources/Methodes/Pages/ListMethodes.php @@ -13,7 +13,7 @@ class ListMethodes extends ListRecords protected function getHeaderActions(): array { return [ - CreateAction::make(), + // CreateAction::make(), ]; } } diff --git a/app/Filament/Resources/Permissions/Pages/EditPermission.php b/app/Filament/Resources/Permissions/Pages/EditPermission.php index bbbb3f0..63ddba7 100644 --- a/app/Filament/Resources/Permissions/Pages/EditPermission.php +++ b/app/Filament/Resources/Permissions/Pages/EditPermission.php @@ -13,7 +13,7 @@ class EditPermission extends EditRecord protected function getHeaderActions(): array { return [ - DeleteAction::make(), + // DeleteAction::make(), ]; } } diff --git a/app/Filament/Resources/Permissions/Pages/ListPermissions.php b/app/Filament/Resources/Permissions/Pages/ListPermissions.php index a774d4f..4d05b04 100644 --- a/app/Filament/Resources/Permissions/Pages/ListPermissions.php +++ b/app/Filament/Resources/Permissions/Pages/ListPermissions.php @@ -13,7 +13,7 @@ class ListPermissions extends ListRecords protected function getHeaderActions(): array { return [ - CreateAction::make(), + // CreateAction::make(), ]; } } diff --git a/app/Filament/Resources/Permissions/PermissionResource.php b/app/Filament/Resources/Permissions/PermissionResource.php index 9a82cf7..d91c5f4 100644 --- a/app/Filament/Resources/Permissions/PermissionResource.php +++ b/app/Filament/Resources/Permissions/PermissionResource.php @@ -3,8 +3,6 @@ namespace App\Filament\Resources\Permissions; use App\Filament\Clusters\Administration\AdministrationCluster; -use App\Filament\Resources\Permissions\Pages\CreatePermission; -use App\Filament\Resources\Permissions\Pages\EditPermission; use App\Filament\Resources\Permissions\Pages\ListPermissions; use App\Filament\Resources\Permissions\Schemas\PermissionForm; use App\Filament\Resources\Permissions\Tables\PermissionsTable; @@ -23,7 +21,7 @@ class PermissionResource extends Resource protected static string|UnitEnum|null $navigationGroup = 'Kunden'; - protected static string|BackedEnum|null $navigationIcon = 'lucide-toggle-right'; + protected static string|BackedEnum|null $navigationIcon = 'lucide-key-square'; protected static ?string $recordTitleAttribute = 'name'; @@ -43,19 +41,10 @@ class PermissionResource extends Resource return PermissionsTable::configure($table); } - public static function getRelations(): array - { - return [ - // - ]; - } - public static function getPages(): array { return [ 'index' => ListPermissions::route('/'), - 'create' => CreatePermission::route('/create'), - 'edit' => EditPermission::route('/{record}/edit'), ]; } diff --git a/app/Filament/Resources/Permissions/Tables/PermissionsTable.php b/app/Filament/Resources/Permissions/Tables/PermissionsTable.php index ce22307..ea6f7c4 100644 --- a/app/Filament/Resources/Permissions/Tables/PermissionsTable.php +++ b/app/Filament/Resources/Permissions/Tables/PermissionsTable.php @@ -2,9 +2,6 @@ namespace App\Filament\Resources\Permissions\Tables; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; -use Filament\Actions\EditAction; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; @@ -14,18 +11,7 @@ class PermissionsTable { return $table ->columns([ - TextColumn::make('name'), - ]) - ->filters([ - // - ]) - ->recordActions([ - EditAction::make(), - ]) - ->toolbarActions([ - BulkActionGroup::make([ - DeleteBulkAction::make(), - ]), + TextColumn::make('name')->searchable(), ]); } } diff --git a/app/Filament/Resources/Plans/Pages/ListPlans.php b/app/Filament/Resources/Plans/Pages/ListPlans.php index 441331e..f879fdc 100644 --- a/app/Filament/Resources/Plans/Pages/ListPlans.php +++ b/app/Filament/Resources/Plans/Pages/ListPlans.php @@ -13,7 +13,7 @@ class ListPlans extends ListRecords protected function getHeaderActions(): array { return [ - CreateAction::make(), + // CreateAction::make(), ]; } } diff --git a/app/Filament/Resources/Plans/PlanResource.php b/app/Filament/Resources/Plans/PlanResource.php index 5eefc52..d18abf1 100644 --- a/app/Filament/Resources/Plans/PlanResource.php +++ b/app/Filament/Resources/Plans/PlanResource.php @@ -3,8 +3,6 @@ namespace App\Filament\Resources\Plans; use App\Filament\Clusters\Administration\AdministrationCluster; -use App\Filament\Resources\Plans\Pages\CreatePlan; -use App\Filament\Resources\Plans\Pages\EditPlan; use App\Filament\Resources\Plans\Pages\ListPlans; use App\Filament\Resources\Plans\Schemas\PlanForm; use App\Filament\Resources\Plans\Tables\PlansTable; @@ -19,7 +17,7 @@ class PlanResource extends Resource { protected static ?string $model = Plan::class; - protected static string|BackedEnum|null $navigationIcon = 'lucide-key-square'; + protected static string|BackedEnum|null $navigationIcon = 'heroicon-o-banknotes'; protected static ?string $cluster = AdministrationCluster::class; @@ -41,19 +39,10 @@ class PlanResource extends Resource return PlansTable::configure($table); } - public static function getRelations(): array - { - return [ - // - ]; - } - public static function getPages(): array { return [ 'index' => ListPlans::route('/'), - 'create' => CreatePlan::route('/create'), - 'edit' => EditPlan::route('/{record}/edit'), ]; } diff --git a/app/Filament/Resources/Plans/Schemas/PlanForm.php b/app/Filament/Resources/Plans/Schemas/PlanForm.php index 994f843..1f860c1 100644 --- a/app/Filament/Resources/Plans/Schemas/PlanForm.php +++ b/app/Filament/Resources/Plans/Schemas/PlanForm.php @@ -2,6 +2,8 @@ namespace App\Filament\Resources\Plans\Schemas; +use Filament\Forms\Components\Textarea; +use Filament\Forms\Components\TextInput; use Filament\Schemas\Schema; class PlanForm @@ -10,7 +12,11 @@ class PlanForm { return $schema ->components([ - // - ]); + TextInput::make('name')->required(), + TextInput::make('payment')->label('Zahlung')->required(), + Textarea::make('description')->label('Beschreibung')->required(), + TextInput::make('number_user')->required()->label('Anzahl Benutzer')->numeric(), + TextInput::make('number_gutachter')->required()->label('Anzahl Gutachter')->numeric(), + ])->inlineLabel()->columns(1); } } diff --git a/app/Filament/Resources/Plans/Tables/PlansTable.php b/app/Filament/Resources/Plans/Tables/PlansTable.php index f78965e..b54864a 100644 --- a/app/Filament/Resources/Plans/Tables/PlansTable.php +++ b/app/Filament/Resources/Plans/Tables/PlansTable.php @@ -2,9 +2,8 @@ namespace App\Filament\Resources\Plans\Tables; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; +use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; class PlansTable @@ -13,18 +12,15 @@ class PlansTable { return $table ->columns([ - // - ]) - ->filters([ - // + TextColumn::make('name'), + TextColumn::make('payment')->label('Zahlungsart'), + TextColumn::make('gutachten')->badge()->label('Anzahl'), + TextColumn::make('number_user')->label('Benutzer')->badge(), + TextColumn::make('number_gutachter')->label('Gutachter')->badge(), + TextColumn::make('preis')->money('EUR'), ]) ->recordActions([ EditAction::make(), - ]) - ->toolbarActions([ - BulkActionGroup::make([ - DeleteBulkAction::make(), - ]), ]); } } diff --git a/app/Filament/Resources/Users/Tables/UsersTable.php b/app/Filament/Resources/Users/Tables/UsersTable.php index 2938226..d58be76 100644 --- a/app/Filament/Resources/Users/Tables/UsersTable.php +++ b/app/Filament/Resources/Users/Tables/UsersTable.php @@ -17,6 +17,7 @@ class UsersTable { return $table ->columns([ + TextColumn::make('gender')->label('Geschlecht'), TextColumn::make('name'), TextColumn::make('konto.company')->badge(), TextColumn::make('email')->copyable()->label('E-Mail'), diff --git a/app/Models/Konto.php b/app/Models/Konto.php index c24ec32..665874e 100644 --- a/app/Models/Konto.php +++ b/app/Models/Konto.php @@ -42,6 +42,6 @@ class Konto extends Model public function plan(): HasOne { - return $this->hasOne(Plan::class); + return $this->hasOne(Plan::class, 'id', 'plan_id'); } } diff --git a/app/Models/Plan.php b/app/Models/Plan.php index e91899c..2ffe123 100644 --- a/app/Models/Plan.php +++ b/app/Models/Plan.php @@ -6,5 +6,17 @@ use Illuminate\Database\Eloquent\Model; class Plan extends Model { - // + /** + * The attributes that are mass assignable. + * + * @var list + */ + protected $fillable = [ + 'name', + 'payment', + 'description', + 'preis', + 'number_user', + 'number_gutachter', + ]; } diff --git a/database/migrations/2025_09_06_143006_create_plan_table.php b/database/migrations/2025_09_06_143006_create_plan_table.php index c6167f1..9e90453 100644 --- a/database/migrations/2025_09_06_143006_create_plan_table.php +++ b/database/migrations/2025_09_06_143006_create_plan_table.php @@ -15,10 +15,10 @@ return new class extends Migration $table->id(); $table->string('name')->nullable(); $table->string('payment')->nullable(); - $table->string('description')->nullable(); + $table->string('gutachten')->nullable(); + $table->integer('preis')->default(0); $table->integer('number_user')->default(1); $table->integer('number_gutachter')->default(1); - $table->integer('payment_id')->default(1); $table->timestamps(); }); } diff --git a/database/seeders/PlansSeeder.php b/database/seeders/PlansSeeder.php index 9251296..34921e0 100644 --- a/database/seeders/PlansSeeder.php +++ b/database/seeders/PlansSeeder.php @@ -12,11 +12,11 @@ class PlansSeeder extends Seeder */ public function run(): void { - $sql = "INSERT INTO `plans` (`id`, `name`, `payment`, `description`, `number_user`, `number_gutachter`, `payment_id`, `created_at`, `updated_at`) + $sql = "INSERT INTO `plans` (`id`, `name`, `payment`, `gutachten`, `preis`, `number_user`, `number_gutachter`, `created_at`, `updated_at`) VALUES - ('1', 'Basic', 'Pro Gutachten', 'Basis Version für einen Benutzer und einem Gutacher.', '1', '1', '1', NULL, NULL), - ('2', 'Erweitert', 'Monatlich', 'Premium Version für 3 Benutzer und 3 Gutacher.', '3', '3', '2', NULL, NULL), - ('3', 'Premium', 'Jährlich', 'Premium Version für fünf Benutzer und fünf Gutacher. \nUnbegrenzte Anzahl der Gutachten.', '5', '5', '3', NULL, NULL); + ('1', 'Einfach', 'Per Gutachten', 'Per Stück', '75', '1', '1', NULL, NULL), + ('2', 'Erweitert', 'Monatlich', 'Unbegrenzt', '150', '3', '1', NULL, NULL), + ('3', 'Vollversion', 'Jährlich', 'Unbegrenzt', '1750', '5', '10', NULL, NULL); "; DB::unprepared($sql); } diff --git a/resources/views/layouts/footer.blade.php b/resources/views/layouts/footer.blade.php index fb6b7af..46b3a00 100644 --- a/resources/views/layouts/footer.blade.php +++ b/resources/views/layouts/footer.blade.php @@ -1,7 +1,7 @@