From b0443b583d04d512b121c552453abe8733f95731 Mon Sep 17 00:00:00 2001 From: salam Date: Thu, 2 Oct 2025 18:01:23 +0200 Subject: [PATCH] Methoden wip --- .../Methodes/Schemas/MethodeForm.php | 10 ++++++-- .../Methodes/Tables/MethodesTable.php | 23 +++++++++---------- app/Models/Methode.php | 6 ++++- ...025_09_23_135826_create_methodes_table.php | 3 ++- database/seeders/DatabaseSeeder.php | 1 + database/seeders/MethodeSeeder.php | 13 +++++++++-- 6 files changed, 38 insertions(+), 18 deletions(-) diff --git a/app/Filament/Resources/Methodes/Schemas/MethodeForm.php b/app/Filament/Resources/Methodes/Schemas/MethodeForm.php index 8b81500..33d7763 100644 --- a/app/Filament/Resources/Methodes/Schemas/MethodeForm.php +++ b/app/Filament/Resources/Methodes/Schemas/MethodeForm.php @@ -2,6 +2,8 @@ namespace App\Filament\Resources\Methodes\Schemas; +use Filament\Forms\Components\RichEditor; +use Filament\Forms\Components\TextInput; use Filament\Schemas\Schema; class MethodeForm @@ -10,7 +12,11 @@ class MethodeForm { return $schema ->components([ - // - ]); + TextInput::make('name')->required(), + RichEditor::make('description') + ->toolbarButtons([ + ['bold', 'italic', 'underline', 'strike', 'subscript', 'superscript'], + ]), + ])->columns(1); } } diff --git a/app/Filament/Resources/Methodes/Tables/MethodesTable.php b/app/Filament/Resources/Methodes/Tables/MethodesTable.php index 1940cdc..d533027 100644 --- a/app/Filament/Resources/Methodes/Tables/MethodesTable.php +++ b/app/Filament/Resources/Methodes/Tables/MethodesTable.php @@ -2,10 +2,10 @@ namespace App\Filament\Resources\Methodes\Tables; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; +use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; +use Illuminate\Support\HtmlString; class MethodesTable { @@ -13,18 +13,17 @@ class MethodesTable { return $table ->columns([ - // - ]) - ->filters([ - // + TextColumn::make('kennung')->badge()->color('info'), + TextColumn::make('name') + ->wrap() + ->description(function ($record) { + return new HtmlString($record->description); + }) + // ->description(fn ($record): string => new HtmlString($record->description)) + ->html(), ]) ->recordActions([ - EditAction::make(), - ]) - ->toolbarActions([ - BulkActionGroup::make([ - DeleteBulkAction::make(), - ]), + EditAction::make()->iconButton()->color('gray'), ]); } } diff --git a/app/Models/Methode.php b/app/Models/Methode.php index d49f0fb..f1032aa 100644 --- a/app/Models/Methode.php +++ b/app/Models/Methode.php @@ -6,5 +6,9 @@ use Illuminate\Database\Eloquent\Model; class Methode extends Model { - // + protected $fillable = [ + 'kennung', + 'name', + 'description', + ]; } diff --git a/database/migrations/2025_09_23_135826_create_methodes_table.php b/database/migrations/2025_09_23_135826_create_methodes_table.php index b871eaa..59d083c 100644 --- a/database/migrations/2025_09_23_135826_create_methodes_table.php +++ b/database/migrations/2025_09_23_135826_create_methodes_table.php @@ -13,8 +13,9 @@ return new class extends Migration { Schema::create('methodes', function (Blueprint $table) { $table->id(); + $table->string('kennung'); $table->string('name'); - $table->string('description'); + $table->text('description'); $table->timestamps(); }); } diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 6b59392..8539d58 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -16,6 +16,7 @@ class DatabaseSeeder extends Seeder public function run(): void { $this->call([ + MethodeSeeder::class, OrientierungenSeeder::class, PlansSeeder::class, ]); diff --git a/database/seeders/MethodeSeeder.php b/database/seeders/MethodeSeeder.php index b480e0d..cc1fe4c 100644 --- a/database/seeders/MethodeSeeder.php +++ b/database/seeders/MethodeSeeder.php @@ -2,8 +2,8 @@ namespace Database\Seeders; -use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; +use Illuminate\Support\Facades\DB; class MethodeSeeder extends Seeder { @@ -12,6 +12,15 @@ class MethodeSeeder extends Seeder */ public function run(): void { - // + $sql = "INSERT INTO `methodes` (`id`, `kennung`, `name`, `description`, `created_at`, `updated_at`) + VALUES + ('1', 'standard', 'Normale Wohnnutzflächen', 'Hierbei werden alle Wohnnutzflächen des Objekts die nicht einer anderen Methode zugeordnet sind zusammengezählt.', NULL, NULL), + ('2', 'winterloggien', 'Wintergarten, Loggien', '

Alle Objekte werden einzeln aufgelistet mit Absolutem Faktor und Relativem Faktor multipliziert. Die Nutzwerte werden ungerundet zusammengezählt.

', NULL, '2025-10-02 16:00:09'), + ('3', 'terassebalkon', 'Terasse, Balkon', '

Terasse, Balkon werden mit Absolutem Faktor multipliziert und dann gerundet. Jedes Ergebnis wird einzeln aufgeführt.

', NULL, '2025-10-02 15:59:55'), + ('4', 'kellergarten', 'Keller, Garten', 'Objekte werden mit dem Absoluten Faktor multipliziert dann gerundet. Jedes Ergebnis wird einzeln aufgeführt.', NULL, NULL), + ('5', 'stellplatz', 'Stellplätze', '

Stellplätze werden nur mit Absolutem Faktor multipliziert, nicht in Orientierung & Typ aufgeführt und im PDF als eigenes Objekt ausgegeben.

', NULL, '2025-10-02 15:59:18'), + ('6', 'zubehoer', 'Zubehör', '

Zubehör welches mit dem Stellplatz direkt verbunden ist. (zB. das Kellerabteil hinter dem Stellplatz, oder eine eigene Zufahrt nur zu einem Stellplatz).

Das Objekt wird mit Absolutem Faktor multipliziert und ungerundet zum Stellplatz dazugezählt, und dann erst die Summe des Nutzwertes gerundet.

', NULL, '2025-10-02 15:59:29'); + "; + DB::unprepared($sql); } }