This commit is contained in:
salam committed 2025-10-31 15:38:20 +01:00
1 parent 30563ee98d
commit 622b37bb90
12 files changed
+56 -56

No files matched your search

@@ -1,10 +1,10 @@
<?php <?php
namespace App\Actions\Generate\Nutzwerte; namespace App\Actions\Generate\Tabellen;
use App\Actions\Generate\Utilities\Format; use App\Actions\Generate\Utilities\Format;
use App\Actions\Generate\Utilities\Html; use App\Actions\Generate\Utilities\Html;
use App\Models\Merkmale; use App\Models\ProjektMerkmale;
use App\Models\ProjektMethode; use App\Models\ProjektMethode;
use App\Models\ProjektObjekte; use App\Models\ProjektObjekte;
@@ -29,14 +29,14 @@ class ZuUndAbschlaege
$header_row = ['Top Nummer', 'Geschoß', 'Typ', 'Nutzfläche']; $header_row = ['Top Nummer', 'Geschoß', 'Typ', 'Nutzfläche'];
} }
$merkmale = Merkmale::where('projekte_id', $projekte_id)->pluck('name', 'code'); $projekt_merkmale = ProjektMerkmale::where('projekte_id', $projekte_id)->pluck('name', 'code');
$markmale_codes = []; $markmale_codes = [];
foreach ($merkmale as $key => $value) { foreach ($projekt_merkmale as $key => $value) {
$markmale_codes[] = $key; $markmale_codes[] = $key;
$header_row[] = $value; $header_row[] = $value;
} }
$header_row[] = 'Summe Merkmale'; $header_row[] = 'Summe ProjektMerkmale';
$header_row[] = 'Wohnungsbewertung'; $header_row[] = 'Wohnungsbewertung';
$html = '<table class="table-striped">'; $html = '<table class="table-striped">';
@@ -2,8 +2,8 @@
namespace App\Filament\Resources\Projektes\RelationManagers; namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Models\Merkmale;
use App\Models\Orientierung; use App\Models\Orientierung;
use App\Models\ProjektMerkmale;
use App\Models\ProjektObjekte; use App\Models\ProjektObjekte;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\BulkAction; use Filament\Actions\BulkAction;
@@ -55,7 +55,7 @@ class ProjektObjekteRelationManager extends RelationManager
public function table(Table $table): Table public function table(Table $table): Table
{ {
$spalten = Merkmale::where('projekte_id', $this->ownerRecord->id)->pluck('name', 'code'); $spalten = ProjektMerkmale::where('projekte_id', $this->ownerRecord->id)->pluck('name', 'code');
return $table return $table
// ->striped() // ->striped()
@@ -251,14 +251,14 @@ class ProjektObjekteRelationManager extends RelationManager
->modalDescription('Die dazugehörigen Räume werde in "Objekte im Detail" erstellt.') ->modalDescription('Die dazugehörigen Räume werde in "Objekte im Detail" erstellt.')
->icon('phosphor-file-plus') ->icon('phosphor-file-plus')
->createAnother(false), ->createAnother(false),
Action::make('merkmale') Action::make('projekt_merkmale')
->icon('phosphor-pen') ->icon('phosphor-pen')
->modalCancelAction(fn (Action $action) => $action->label('Schließen')) ->modalCancelAction(fn (Action $action) => $action->label('Schließen'))
->modalSubmitAction(false) ->modalSubmitAction(false)
->modalHeading('Merkmale') ->modalHeading('ProjektMerkmale')
->slideOver() ->slideOver()
// ->modalWidth(Width::Medium) // ->modalWidth(Width::Medium)
->modalContent(view('filament.pages.actions.merkmale')) ->modalContent(view('filament.pages.actions.projekt_merkmale'))
->after(function (Component $livewire) { ->after(function (Component $livewire) {
$livewire->dispatch('refreshOrientierung'); $livewire->dispatch('refreshOrientierung');
}), }),
@@ -2,7 +2,7 @@
namespace App\Filament\Resources\Projektes\Widgets; namespace App\Filament\Resources\Projektes\Widgets;
use App\Models\Merkmale; use App\Models\ProjektMerkmale;
use App\Models\ProjektObjekte; use App\Models\ProjektObjekte;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\DeleteAction; use Filament\Actions\DeleteAction;
@@ -13,11 +13,11 @@ use Filament\Tables\Table;
use Filament\Widgets\TableWidget; use Filament\Widgets\TableWidget;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
class WidgetMerkmale extends TableWidget class WidgetProjektMerkmale extends TableWidget
{ {
protected static ?string $navigationLabel = 'Merkmal'; protected static ?string $navigationLabel = 'Merkmal';
protected static ?string $pluralModelLabel = 'Merkmale'; protected static ?string $pluralModelLabel = 'ProjektMerkmale';
protected static ?string $modelLabel = 'Merkmal'; protected static ?string $modelLabel = 'Merkmal';
@@ -29,7 +29,7 @@ class WidgetMerkmale extends TableWidget
{ {
return $table return $table
->striped() ->striped()
->query(fn (): Builder => Merkmale::where('projekte_id', $this->projekte_id)) ->query(fn (): Builder => ProjektMerkmale::where('projekte_id', $this->projekte_id))
->defaultSort('code') ->defaultSort('code')
->columns([ ->columns([
TextColumn::make('name'), TextColumn::make('name'),
@@ -73,9 +73,9 @@ class WidgetMerkmale extends TableWidget
->prefixIcon('phosphor-house-simple'), ->prefixIcon('phosphor-house-simple'),
]) ])
->action(function (array $data) { ->action(function (array $data) {
$code = Merkmale::getfreecode($this->projekte_id); $code = ProjektMerkmale::getfreecode($this->projekte_id);
if ($code) { if ($code) {
$merkmal = new Merkmale; $merkmal = new ProjektMerkmale;
$merkmal->projekte_id = $this->projekte_id; $merkmal->projekte_id = $this->projekte_id;
$merkmal->code = $code; $merkmal->code = $code;
$merkmal->name = $data['name']; $merkmal->name = $data['name'];
@@ -4,7 +4,7 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class Merkmale extends Model class ProjektMerkmale extends Model
{ {
protected $fillable = [ protected $fillable = [
'projekte_id', 'projekte_id',
+1 -1
View File
@@ -37,8 +37,8 @@
'app.filament.resources.projektes.relation-managers.projekt-objekte-im-detail-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektObjekteImDetailRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-objekte-im-detail-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektObjekteImDetailRelationManager',
'app.filament.resources.projektes.relation-managers.projekt-objekte-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektObjekteRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-objekte-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektObjekteRelationManager',
'app.filament.resources.projektes.relation-managers.projekt-platzhalter-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektPlatzhalterRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-platzhalter-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektPlatzhalterRelationManager',
'app.filament.resources.projektes.widgets.widget-merkmale' => 'App\\Filament\\Resources\\Projektes\\Widgets\\WidgetMerkmale',
'app.filament.resources.projektes.widgets.widget-methoden' => 'App\\Filament\\Resources\\Projektes\\Widgets\\WidgetMethoden', 'app.filament.resources.projektes.widgets.widget-methoden' => 'App\\Filament\\Resources\\Projektes\\Widgets\\WidgetMethoden',
'app.filament.resources.projektes.widgets.widget-projekt-merkmale' => 'App\\Filament\\Resources\\Projektes\\Widgets\\WidgetProjektMerkmale',
'app.filament.resources.textblocks.pages.create-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\CreateTextblock', 'app.filament.resources.textblocks.pages.create-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\CreateTextblock',
'app.filament.resources.textblocks.pages.edit-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\EditTextblock', 'app.filament.resources.textblocks.pages.edit-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\EditTextblock',
'app.filament.resources.textblocks.pages.list-textblocks' => 'App\\Filament\\Resources\\Textblocks\\Pages\\ListTextblocks', 'app.filament.resources.textblocks.pages.list-textblocks' => 'App\\Filament\\Resources\\Textblocks\\Pages\\ListTextblocks',
+21 -21
View File
@@ -531,7 +531,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::tiUv4rvgBcNvkvtY', '_route' => 'generated::TIxIbqKbz0RKd1kD',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -551,7 +551,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::8p53Iz2lUpOvF7no', '_route' => 'generated::dSlrIkYrdLudcfHA',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -609,7 +609,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::lz7Zg8blMDT4P8Jk', '_route' => 'generated::ZjpfqfIbIgZi8Dy6',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -629,7 +629,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::8d1F1ZEUsjVSMeYc', '_route' => 'generated::AQn9zdwwLEB1SzR1',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -649,7 +649,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::m4g7KkpOJaRLv9Qh', '_route' => 'generated::HCD2CY1ZWXTlvPrl',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -669,7 +669,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::DPRLZjl4pLkhWpMc', '_route' => 'generated::9fWzElUs8zuL4YAd',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -689,7 +689,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::MOt3vLAjE2hdhyas', '_route' => 'generated::2GOAt0iMy81HCNHS',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -2717,7 +2717,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::tiUv4rvgBcNvkvtY' => 'generated::TIxIbqKbz0RKd1kD' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2729,7 +2729,7 @@ app('router')->setCompiledRoutes(
array ( array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'as' => 'generated::tiUv4rvgBcNvkvtY', 'as' => 'generated::TIxIbqKbz0RKd1kD',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2745,7 +2745,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::8p53Iz2lUpOvF7no' => 'generated::dSlrIkYrdLudcfHA' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2757,7 +2757,7 @@ app('router')->setCompiledRoutes(
array ( array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'as' => 'generated::8p53Iz2lUpOvF7no', 'as' => 'generated::dSlrIkYrdLudcfHA',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2859,7 +2859,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::lz7Zg8blMDT4P8Jk' => 'generated::ZjpfqfIbIgZi8Dy6' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2888,7 +2888,7 @@ app('router')->setCompiledRoutes(
\'exception\' => $exception, \'exception\' => $exception,
]), status: $exception ? 500 : 200); ]), status: $exception ? 500 : 200);
}";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f400000000000000000";}}', }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f400000000000000000";}}',
'as' => 'generated::lz7Zg8blMDT4P8Jk', 'as' => 'generated::ZjpfqfIbIgZi8Dy6',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2904,7 +2904,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::8d1F1ZEUsjVSMeYc' => 'generated::AQn9zdwwLEB1SzR1' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2926,7 +2926,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::8d1F1ZEUsjVSMeYc', 'as' => 'generated::AQn9zdwwLEB1SzR1',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2942,7 +2942,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::m4g7KkpOJaRLv9Qh' => 'generated::HCD2CY1ZWXTlvPrl' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2964,7 +2964,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::m4g7KkpOJaRLv9Qh', 'as' => 'generated::HCD2CY1ZWXTlvPrl',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2980,7 +2980,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::DPRLZjl4pLkhWpMc' => 'generated::9fWzElUs8zuL4YAd' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -3002,7 +3002,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::DPRLZjl4pLkhWpMc', 'as' => 'generated::9fWzElUs8zuL4YAd',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -3018,7 +3018,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::MOt3vLAjE2hdhyas' => 'generated::2GOAt0iMy81HCNHS' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -3040,7 +3040,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::MOt3vLAjE2hdhyas', 'as' => 'generated::2GOAt0iMy81HCNHS',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -11,7 +11,7 @@ return new class extends Migration
*/ */
public function up(): void public function up(): void
{ {
Schema::create('merkmales', function (Blueprint $table) { Schema::create('projekt_merkmales', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); $table->foreignId('projekte_id')->constrained()->cascadeOnDelete();
$table->string('code'); $table->string('code');
@@ -25,6 +25,6 @@ return new class extends Migration
*/ */
public function down(): void public function down(): void
{ {
Schema::dropIfExists('merkmales'); Schema::dropIfExists('projekt_merkmales');
} }
}; };
@@ -1,10 +0,0 @@
@php
$widgetData = [
'inModal' => true,
];
@endphp
<div>
@livewire(\App\Filament\Resources\Projektes\Widgets\WidgetMerkmale::class, ['projekte_id' => $this->ownerRecord->id])
</div>
@@ -0,0 +1,10 @@
@php
$widgetData = [
'inModal' => true,
];
@endphp
<div>
@livewire(\App\Filament\Resources\Projektes\Widgets\WidgetProjektMerkmale::class, ['projekte_id' => $this->ownerRecord->id])
</div>
+3 -3
View File
@@ -28,12 +28,12 @@
<x-filament::section> <x-filament::section>
<x-slot name="heading"> <x-slot name="heading">
<x-title> <x-title>
Wertmerkmale Wermerkmale
</x-title> </x-title>
</x-slot> </x-slot>
Der Nutzwert wird aus der Nutzfläche ermittelt und durch Zu- oder Abschläge an die Der Nutzwert wird aus der Nutzfläche ermittelt und durch Zu- oder Abschläge an die
individuellen individuellen
Wertmerkmale der einzelnen Wohnungen (z.B. Lage, Balkon) angepasst. Wermerkmale der einzelnen Wohnungen (z.B. Lage, Balkon) angepasst.
Was ist ein Nutzwertgutachten bzw. eine Parifizierung? Was ist ein Nutzwertgutachten bzw. eine Parifizierung?
</x-filament::section> </x-filament::section>
@@ -54,7 +54,7 @@
<x-text> <x-text>
Der Nutzwert wird aus der Nutzfläche ermittelt und durch Zu- oder Abschläge an die Der Nutzwert wird aus der Nutzfläche ermittelt und durch Zu- oder Abschläge an die
individuellen individuellen
Wertmerkmale der einzelnen Wohnungen (z.B. Lage, Balkon) angepasst. Wermerkmale der einzelnen Wohnungen (z.B. Lage, Balkon) angepasst.
Was ist ein Nutzwertgutachten bzw. eine Parifizierung? Was ist ein Nutzwertgutachten bzw. eine Parifizierung?
</x-text> </x-text>
+1 -1
View File
@@ -16,7 +16,7 @@
<p class="leading-7 [&:not(:first-child)] indent-10"> <p class="leading-7 [&:not(:first-child)] indent-10">
Der Nutzwert wird aus der Nutzfläche ermittelt und durch Zu- oder Abschläge an die Der Nutzwert wird aus der Nutzfläche ermittelt und durch Zu- oder Abschläge an die
individuellen individuellen
Wertmerkmale der einzelnen Wohnungen (z.B. Lage, Balkon) angepasst. Wermerkmale der einzelnen Wohnungen (z.B. Lage, Balkon) angepasst.
Was ist ein Nutzwertgutachten bzw. eine Parifizierung? Was ist ein Nutzwertgutachten bzw. eine Parifizierung?
</p> </p>
<h2 class="mt-10 scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0"> <h2 class="mt-10 scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight transition-colors first:mt-0">
+1 -1
View File
@@ -16,7 +16,7 @@
<td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">Mond</td> <td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">Mond</td>
<td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">Sterne</td> <td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">Sterne</td>
<td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">Summe <td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">Summe
Merkmale</td> ProjektMerkmale</td>
<td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;"> <td class="head right bl bt br bb" style="background-color:#d1d1d1; width: 17.272727272727mm;">
Wohnungsbewertung</td> Wohnungsbewertung</td>
</tr> </tr>