From 3a35ccd69d4a0dcb7ba3d4dd44508aaa57408618 Mon Sep 17 00:00:00 2001 From: salam Date: Sun, 19 Oct 2025 12:26:48 +0200 Subject: [PATCH] inhaltsangabe wip --- ARTISAN.md | 2 +- .../CreateProjektInhaltsverzeichnis.php | 15 ++++- .../Gutachters/Schemas/GutachterForm.php | 48 +++++++++----- .../Pages/ListInhaltsverzeichnis.php | 1 + .../Schemas/InhaltsverzeichnisForm.php | 62 +++++++++++++++--- .../Tables/InhaltsverzeichnisTable.php | 19 +++++- .../KontoTextblockResource.php | 2 +- .../Schemas/KontoTextblockForm.php | 8 +-- .../Tables/KontoTextblocksTable.php | 30 ++------- ...ientierungZuAbschlaegesRelationManager.php | 2 +- ...ojektInhaltsverzeichnisRelationManager.php | 45 ++++++------- .../Textblocks/Schemas/TextblockForm.php | 6 +- .../Textblocks/Tables/TextblocksTable.php | 9 +-- app/Models/Gutachter.php | 1 + app/Models/Inhaltsverzeichnis.php | 13 +++- app/Models/KontoTextblock.php | 5 -- app/Models/Tabellen.php | 10 +++ app/Models/Textblock.php | 6 -- app/Models/TextblockKennung.php | 12 ---- bootstrap/cache/blade-icons.php | 1 + bootstrap/cache/config.php | 4 +- bootstrap/cache/routes-v7.php | 42 ++++++------ ...5_09_05_131323_create_gutachter_tables.php | 1 + ...5_10_02_163208_create_textblocks_table.php | 1 - ...170241_create_inhaltsverzeichnis_table.php | 6 +- ...reate_projekt_inhaltsverzeichnis_table.php | 10 +-- ...5_10_18_065212_create_tabellens_table.php} | 6 +- database/seeders/DatabaseSeeder.php | 2 +- database/seeders/InhaltsverzeichnisSeeder.php | 57 ++++++++-------- database/seeders/TabellenSeeder.php | 27 ++++++++ database/seeders/TextblockKennungSeeder.php | 31 --------- database/seeders/TextblockSeeder.php | 25 +++---- resources/svg/siegel.svg | 8 +++ storage/hvf-logos/avf-stempel.png | Bin 0 -> 69498 bytes 34 files changed, 281 insertions(+), 236 deletions(-) create mode 100644 app/Models/Tabellen.php delete mode 100644 app/Models/TextblockKennung.php rename database/migrations/{2025_10_10_091736_create_textblock_kennungs_table.php => 2025_10_18_065212_create_tabellens_table.php} (72%) create mode 100644 database/seeders/TabellenSeeder.php delete mode 100644 database/seeders/TextblockKennungSeeder.php create mode 100644 resources/svg/siegel.svg create mode 100644 storage/hvf-logos/avf-stempel.png diff --git a/ARTISAN.md b/ARTISAN.md index 41bce1c..71f6cf7 100644 --- a/ARTISAN.md +++ b/ARTISAN.md @@ -1,4 +1,4 @@ -a make:model TextblockKennung -m +a make:model Textblock -m a make:filament-resource KontoTextblock diff --git a/app/Actions/Create/CreateProjektInhaltsverzeichnis.php b/app/Actions/Create/CreateProjektInhaltsverzeichnis.php index ac5378f..aa00996 100644 --- a/app/Actions/Create/CreateProjektInhaltsverzeichnis.php +++ b/app/Actions/Create/CreateProjektInhaltsverzeichnis.php @@ -10,8 +10,14 @@ class CreateProjektInhaltsverzeichnis { public static function create($record) { - $inhaltsverzeichnis = Inhaltsverzeichnis::with('textblock_kennung')->get(); + $inhaltsverzeichnis = Inhaltsverzeichnis::get(); foreach ($inhaltsverzeichnis as $inhalt) { + + $textblock = ''; + if ($inhalt->textblock_id > 0) { + $textblock = Textblock::where('id', $inhalt->textblock_id)->pluck('textblock')->first(); + } + ProjektInhaltsverzeichnis::updateOrCreate( [ 'projekte_id' => $record->id, @@ -20,9 +26,12 @@ class CreateProjektInhaltsverzeichnis [ 'sort' => $inhalt->sort, 'ordnungszahl' => $inhalt->ordnungszahl, + 'name' => $inhalt->name, + 'ueberschrift_nicht_anzeigen' => $inhalt->ueberschrift_nicht_anzeigen, 'seite' => $inhalt->seite, - 'textblock_kennung_id' => $inhalt->textblock_kennung_id, - 'textblock' => Textblock::where('id', $inhalt->textblock_kennung_id)->pluck('textblock')->first(), + 'tabellen_id' => $inhalt->tabellen_id, + 'textblock_id' => $inhalt->textblock_id, + 'textblock' => $textblock, ]); } } diff --git a/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php b/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php index cd7a667..7cab20b 100644 --- a/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php +++ b/app/Filament/Resources/Gutachters/Schemas/GutachterForm.php @@ -52,6 +52,29 @@ class GutachterForm ->label('Telefon') ->defaultCountry('AT'), ]), + Tab::make('Logo') + ->icon('phosphor-image') + ->schema([ + Checkbox::make('logo_anzeigen') + ->label('Das Logo im Gutachten verwenden') + ->columnSpanFull(), + FileUpload::make('logo') + ->image() + ->disk('public') + ->directory('gutachter-logo') + ->maxSize(3072) // 3MB limit + ->acceptedFileTypes(['image/jpeg', 'image/png', 'image/webp']) + ->visibility('public') + ->label('Logo'), + Radio::make('logo_align') + ->Label('Position') + ->default('right') + ->options([ + 'left' => 'Links', + 'center' => 'Zentriert', + 'right' => 'Rechts', + ]), + ])->columns(2), Tab::make('Anzeige am Deckblatt') ->icon('lucide-contact') ->schema([ @@ -98,28 +121,19 @@ class GutachterForm ->label('Adresse') ->required(), ]), - Tab::make('Logo') - ->icon('phosphor-image') + + Tab::make('digitale_signatur') + ->label('Digitale Signatur') + ->icon('phosphor-stamp') ->schema([ - Checkbox::make('logo_anzeigen') - ->label('Das Logo im Gutachten verwenden') - ->columnSpanFull(), - FileUpload::make('logo') + FileUpload::make('digitale_signatur_stempel') + ->label('Bild vom Stempel') ->image() ->disk('public') - ->directory('gutachter-logo') + ->directory('gutachter-stempel') ->maxSize(3072) // 3MB limit ->acceptedFileTypes(['image/jpeg', 'image/png', 'image/webp']) - ->visibility('public') - ->label('Logo'), - Radio::make('logo_align') - ->Label('Position') - ->default('right') - ->options([ - 'left' => 'Links', - 'center' => 'Zentriert', - 'right' => 'Rechts', - ]), + ->visibility('public'), ])->columns(2), ])->columnSpanFull(), ]); diff --git a/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php b/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php index beb2ea8..af0eacc 100644 --- a/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php +++ b/app/Filament/Resources/Inhaltsverzeichnis/Pages/ListInhaltsverzeichnis.php @@ -14,6 +14,7 @@ class ListInhaltsverzeichnis extends ListRecords { return [ CreateAction::make() + ->modalHeading('Kapitel hinzufügen') ->icon('phosphor-file-plus') ->createAnother(false), ]; diff --git a/app/Filament/Resources/Inhaltsverzeichnis/Schemas/InhaltsverzeichnisForm.php b/app/Filament/Resources/Inhaltsverzeichnis/Schemas/InhaltsverzeichnisForm.php index fb9c858..8d9315d 100644 --- a/app/Filament/Resources/Inhaltsverzeichnis/Schemas/InhaltsverzeichnisForm.php +++ b/app/Filament/Resources/Inhaltsverzeichnis/Schemas/InhaltsverzeichnisForm.php @@ -2,9 +2,14 @@ namespace App\Filament\Resources\Inhaltsverzeichnis\Schemas; -use App\Models\TextblockKennung; +use App\Models\Tabellen; +use App\Models\Textblock; +use Filament\Forms\Components\Checkbox; use Filament\Forms\Components\Select; +use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; +use Filament\Schemas\Components\Flex; +use Filament\Schemas\Components\Section; use Filament\Schemas\Schema; class InhaltsverzeichnisForm @@ -13,15 +18,52 @@ class InhaltsverzeichnisForm { return $schema ->components([ - TextInput::make('ordnungszahl')->numeric(), - Select::make('textblock_kennung_id') - ->label('Textblock Art') - ->options(function () { - $relatedOptions = TextblockKennung::all()->pluck('name', 'id')->toArray(); + Flex::make([ + Section::make([ + Textarea::make('name') + ->required() + ->label('Kapitel Überschrift'), + Checkbox::make('ueberschrift_nicht_anzeigen') + ->label('Überschrift nicht angezeigen'), + ]), + Section::make([ + TextInput::make('ordnungszahl') + ->label('Kapitel Index') + ->placeholder('3.21') + ->numeric() + ->default(0) + ->belowContent([ + 'Bei "0" wird der Index im PDF nicht angezeigt', + ]), + TextInput::make('seite') + ->label('Seitenzahl') + ->numeric() + ->default(0) + ->belowContent([ + 'Bei "0" wird die Seitenzahl automatisch generiert', + ]), + ]), + ])->columnSpanFull(2), - return ['0' => 'ohne Textblock'] + $relatedOptions; - }), - TextInput::make('name'), - ])->columns(1); + Select::make('tabellen_id')->label('Tabelle') + ->prefixIcon('phosphor-table') + ->default(0) + ->options(function () { + return Tabellen::all()->pluck('name', 'id')->toArray(); + })->belowContent([ + 'Kann auch frei bleiben', + ]), + + Select::make('textblock_id')->label('Textblock') + ->prefixIcon('phosphor-article') + ->default(0) + ->options(function () { + return Textblock::all()->pluck('name', 'id')->toArray(); + + // return ['100' => 'Eigener Textblock'] + $relatedOptions; + })->belowContent([ + 'Kann auch frei bleiben', + ]), + ]); } } diff --git a/app/Filament/Resources/Inhaltsverzeichnis/Tables/InhaltsverzeichnisTable.php b/app/Filament/Resources/Inhaltsverzeichnis/Tables/InhaltsverzeichnisTable.php index 5d8ea8a..8c34370 100644 --- a/app/Filament/Resources/Inhaltsverzeichnis/Tables/InhaltsverzeichnisTable.php +++ b/app/Filament/Resources/Inhaltsverzeichnis/Tables/InhaltsverzeichnisTable.php @@ -2,8 +2,10 @@ namespace App\Filament\Resources\Inhaltsverzeichnis\Tables; +use Filament\Actions\DeleteAction; use Filament\Actions\EditAction; use Filament\Tables\Columns\TextColumn; +use Filament\Tables\Columns\ToggleColumn; use Filament\Tables\Table; class InhaltsverzeichnisTable @@ -11,21 +13,34 @@ class InhaltsverzeichnisTable public static function configure(Table $table): Table { return $table + ->heading('Inhaltsverzeichnis') + ->description('Wird als Vorlage bei den Gutachten verwendet.') ->columns([ - // TextColumn::make('sort'), TextColumn::make('ordnungszahl') + ->label('Index') ->getStateUsing(fn ($record): string => $record->ordnungszahl == '0' ? '' : number_format($record->ordnungszahl, 2)), TextColumn::make('name') - ->description(fn ($record): string => $record->textblock_kennungs->name ?? ''), + ->label('Überschrift') + ->wrap() + ->description(fn ($record): string => $record->textblock_kennungs->name ?? '') + ->color(fn ($record): string => match ($record->ueberschrift_nicht_anzeigen) { + 1 => 'primary', + default => 'gray', + }), + // ToggleColumn::make('ueberschrift_anzeigen')->label('')->tooltip('Überschrift im PDF anzeigen'), + TextColumn::make('tabellen.name')->wrap(), + TextColumn::make('textblock.name')->wrap(), TextColumn::make('seite') ->alignCenter() ->badge() ->color('info') ->getStateUsing(fn ($record): string => $record->seite == '0' ? '...' : $record->seite), ]) + ->defaultSort('sort', direction: 'asc') ->reorderable('sort') ->recordActions([ EditAction::make()->iconButton()->color('gray'), + DeleteAction::make()->iconButton(), ]); } } diff --git a/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php b/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php index 38e4904..ef360ed 100644 --- a/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php +++ b/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php @@ -23,7 +23,7 @@ class KontoTextblockResource extends Resource protected static ?string $cluster = VerwaltungCluster::class; - protected static ?string $navigationLabel = 'Textblock'; + protected static ?string $navigationLabel = 'Eigene Textblöcke'; protected static ?string $modelLabel = 'Textblock'; diff --git a/app/Filament/Resources/KontoTextblocks/Schemas/KontoTextblockForm.php b/app/Filament/Resources/KontoTextblocks/Schemas/KontoTextblockForm.php index e9dc4db..63c5fdb 100644 --- a/app/Filament/Resources/KontoTextblocks/Schemas/KontoTextblockForm.php +++ b/app/Filament/Resources/KontoTextblocks/Schemas/KontoTextblockForm.php @@ -2,9 +2,7 @@ namespace App\Filament\Resources\KontoTextblocks\Schemas; -use App\Models\TextblockKennung; use Filament\Forms\Components\RichEditor; -use Filament\Forms\Components\Select; use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; use Filament\Schemas\Schema; @@ -17,11 +15,7 @@ class KontoTextblockForm ->components([ TextInput::make('name') ->required(), - Textarea::make('beschreibung') - ->afterLabel('Bei gleichen Textblockarten kann hier der Unterschied kurz angerissen werden.'), - Select::make('textblock_kennung_id') - ->label('Textblock Art') - ->options(TextblockKennung::pluck('name', 'id')), + Textarea::make('beschreibung'), RichEditor::make('textblock') ->toolbarButtons([ ['bold', 'italic', 'underline', 'strike', 'subscript', 'superscript'], diff --git a/app/Filament/Resources/KontoTextblocks/Tables/KontoTextblocksTable.php b/app/Filament/Resources/KontoTextblocks/Tables/KontoTextblocksTable.php index a6478ab..aad0672 100644 --- a/app/Filament/Resources/KontoTextblocks/Tables/KontoTextblocksTable.php +++ b/app/Filament/Resources/KontoTextblocks/Tables/KontoTextblocksTable.php @@ -2,13 +2,10 @@ namespace App\Filament\Resources\KontoTextblocks\Tables; -use App\Models\TextblockKennung; -use Filament\Actions\BulkActionGroup; -use Filament\Actions\DeleteBulkAction; +use Filament\Actions\DeleteAction; use Filament\Actions\EditAction; use Filament\Support\Enums\FontWeight; use Filament\Tables\Columns\TextColumn; -use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Table; use Illuminate\Support\HtmlString; @@ -19,14 +16,8 @@ class KontoTextblocksTable return $table ->defaultPaginationPageOption(5) ->columns([ - TextColumn::make('textblock_kennung.name') - ->label('Kennung') - ->color('info') - ->wrap() - ->description(function ($record) { - return new HtmlString($record->beschreibung); - }), TextColumn::make('name') + ->searchable() ->weight(FontWeight::Bold) ->wrap() ->description(function ($record) { @@ -34,22 +25,9 @@ class KontoTextblocksTable }) ->html(), ]) - ->filters([ - SelectFilter::make('textblock_kennung_id') - ->label('Textbock Art') - ->options(function (): array { - return TextblockKennung::join('konto_textblocks', 'textblock_kennungs.id', '=', 'konto_textblocks.textblock_kennung_id') - ->pluck('textblock_kennungs.name', 'textblock_kennungs.id')->toArray(); - }) - ->preload(), - ]) ->recordActions([ - EditAction::make(), - ]) - ->toolbarActions([ - BulkActionGroup::make([ - DeleteBulkAction::make(), - ]), + EditAction::make()->iconButton()->color('gray'), + DeleteAction::make()->iconButton(), ]); } } diff --git a/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php index c132204..8c9bcb9 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/OrientierungZuAbschlaegesRelationManager.php @@ -179,7 +179,7 @@ class OrientierungZuAbschlaegesRelationManager extends RelationManager } }), BulkAction::make('a') - ->label($spalten['a'].' Faktor' ?? '') + ->label($spalten['a'] ?? '') ->color('info') ->hidden(isset($spalten['a']) ? false : true) ->schema([ diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php index afce179..8bce7c8 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektInhaltsverzeichnisRelationManager.php @@ -3,7 +3,6 @@ namespace App\Filament\Resources\Projektes\RelationManagers; use App\Models\KontoTextblock; -use App\Models\TextblockKennung; use Filament\Actions\Action; use Filament\Actions\BulkActionGroup; use Filament\Actions\CreateAction; @@ -11,14 +10,14 @@ use Filament\Actions\DeleteAction; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Forms\Components\Hidden; -use Filament\Forms\Components\Radio; use Filament\Forms\Components\RichEditor; use Filament\Forms\Components\RichEditor\RichContentRenderer; use Filament\Forms\Components\Select; use Filament\Forms\Components\TextInput; use Filament\Resources\RelationManagers\RelationManager; use Filament\Schemas\Components\Actions; -use Filament\Schemas\Components\Fieldset; +use Filament\Schemas\Components\Flex; +use Filament\Schemas\Components\Section; use Filament\Schemas\Components\Utilities\Get; use Filament\Schemas\Components\Utilities\Set; use Filament\Schemas\Schema; @@ -42,27 +41,19 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager { return $schema ->components([ + TextInput::make('ordnungszahl')->numeric(), TextInput::make('name'), - Select::make('textblock_kennung_id') - ->label('Textblock Art') - ->options(function () { - $relatedOptions = TextblockKennung::all()->pluck('name', 'id')->toArray(); - return ['0' => 'ohne Textblock'] + $relatedOptions; - }) - ->live(), - - RichEditor::make('textblock') - ->hidden(fn (Get $get): bool => ! $get('textblock_kennung_id')) - ->toolbarButtons([ - ['bold', 'italic', 'underline', 'strike', 'subscript', 'superscript'], + Flex::make([ + Section::make([ + RichEditor::make('textblock') + ->hidden(fn (Get $get): bool => ! $get('textblock_kennung_id')) + ->toolbarButtons([ + ['bold', 'italic', 'underline', 'strike', 'subscript', 'superscript'], + ]), ]), - - Fieldset::make('Vorlagen') - ->hiddenLabel() - ->hidden(fn ($record): bool => ! isset($record) || ! $record['textblock_kennung_id']) - ->schema([ + Section::make([ Action::make('textblock_sichern') ->schema([ Hidden::make('konto_id')->default(auth()->user()->konto_id), @@ -88,9 +79,9 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager }), ]) ->modalSubmitActionLabel('Sichern') + ->iconButton() ->icon('phosphor-floppy-disk') ->tooltip('Ein veränderter Textblock kann als persönliche Vorlage gespeichert werden.') - ->color('info') ->action(function (array $mountedActions, $data) { $record = $mountedActions[0]->getRawData(); @@ -107,8 +98,9 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager Actions::make([ Action::make('textblock_laden') ->schema([ - Radio::make('konto_textblock_id') + Select::make('konto_textblock_id') ->hiddenLabel() + ->searchable() ->options(function ($record) { return KontoTextblock::where('textblock_kennung_id', $record['textblock_kennung_id'])->where('konto_id', auth()->user()->konto_id)->pluck('name', 'id')->toArray(); })->belowLabel([ @@ -116,16 +108,17 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager ]), ]) ->icon('phosphor-article') + ->iconButton() ->modalSubmitActionLabel('Einsetzen') - ->color('info') - ->tooltip('Personaliserten Texblock laden.') + ->tooltip('Personaliserten Textblock laden.') ->action(function (Set $set, array $data) { $set('textblock', KontoTextblock::query()->where('id', $data['konto_textblock_id'])->pluck('textblock')->first()); }), ]), - ])->columns(4), + ])->grow(false), + ])->columnSpanFull(), - ])->columns(1); + ]); } public function table(Table $table): Table diff --git a/app/Filament/Resources/Textblocks/Schemas/TextblockForm.php b/app/Filament/Resources/Textblocks/Schemas/TextblockForm.php index 9c09f70..547ef7a 100644 --- a/app/Filament/Resources/Textblocks/Schemas/TextblockForm.php +++ b/app/Filament/Resources/Textblocks/Schemas/TextblockForm.php @@ -2,9 +2,7 @@ namespace App\Filament\Resources\Textblocks\Schemas; -use App\Models\TextblockKennung; use Filament\Forms\Components\RichEditor; -use Filament\Forms\Components\Select; use Filament\Forms\Components\Textarea; use Filament\Forms\Components\TextInput; use Filament\Schemas\Schema; @@ -19,9 +17,7 @@ class TextblockForm ->required(), Textarea::make('beschreibung') ->afterLabel('Bei gleichen Textblockarten kann hier der Unterschied kurz angerissen werden.'), - Select::make('textblock_kennung_id') - ->label('Textblock Art') - ->options(TextblockKennung::pluck('name', 'id')), + RichEditor::make('textblock') ->toolbarButtons([ ['bold', 'italic', 'underline', 'strike', 'subscript', 'superscript'], diff --git a/app/Filament/Resources/Textblocks/Tables/TextblocksTable.php b/app/Filament/Resources/Textblocks/Tables/TextblocksTable.php index ae6c299..75eeebb 100644 --- a/app/Filament/Resources/Textblocks/Tables/TextblocksTable.php +++ b/app/Filament/Resources/Textblocks/Tables/TextblocksTable.php @@ -2,6 +2,7 @@ namespace App\Filament\Resources\Textblocks\Tables; +use Filament\Actions\DeleteAction; use Filament\Actions\EditAction; use Filament\Support\Enums\FontWeight; use Filament\Tables\Columns\TextColumn; @@ -15,13 +16,6 @@ class TextblocksTable return $table ->defaultPaginationPageOption(5) ->columns([ - TextColumn::make('textblock_kennung.name') - ->label('Kennung') - ->color('info') - ->wrap() - ->description(function ($record) { - return new HtmlString($record->beschreibung); - }), TextColumn::make('name') ->weight(FontWeight::Bold) ->wrap() @@ -32,6 +26,7 @@ class TextblocksTable ]) ->recordActions([ EditAction::make()->iconButton()->color('gray'), + DeleteAction::make()->iconButton(), ]); } } diff --git a/app/Models/Gutachter.php b/app/Models/Gutachter.php index 16a79e5..e25e4c9 100644 --- a/app/Models/Gutachter.php +++ b/app/Models/Gutachter.php @@ -23,6 +23,7 @@ class Gutachter extends Model 'logo', 'logo_align', 'referenz_formatting', + 'digitale_signatur_stempel', 'logo_anzeigen', 'text_anzeigen', ]; diff --git a/app/Models/Inhaltsverzeichnis.php b/app/Models/Inhaltsverzeichnis.php index a5adb8c..078cd6e 100644 --- a/app/Models/Inhaltsverzeichnis.php +++ b/app/Models/Inhaltsverzeichnis.php @@ -8,14 +8,21 @@ class Inhaltsverzeichnis extends Model { protected $fillable = [ 'name', - 'textblock_kennung_id', + 'ueberschrift_anzeigen', + 'tabellen_id', + 'textblock_id', 'sort', 'ordnungszahl', 'seite', ]; - public function textblock_kennung() + public function textblock() { - return $this->hasMany(TextblockKennung::class, 'id', 'textblock_kennung_id'); + return $this->hasMany(Textblock::class, 'id', 'textblock_id'); + } + + public function tabellen() + { + return $this->hasMany(Tabellen::class, 'id', 'tabellen_id'); } } diff --git a/app/Models/KontoTextblock.php b/app/Models/KontoTextblock.php index bba0c2f..e7eabb9 100644 --- a/app/Models/KontoTextblock.php +++ b/app/Models/KontoTextblock.php @@ -18,9 +18,4 @@ class KontoTextblock extends Model { static::addGlobalScope(new KontoScope); } - - public function textblock_kennung() - { - return $this->hasMany(TextblockKennung::class, 'id', 'textblock_kennung_id'); - } } diff --git a/app/Models/Tabellen.php b/app/Models/Tabellen.php new file mode 100644 index 0000000..7dcb8cd --- /dev/null +++ b/app/Models/Tabellen.php @@ -0,0 +1,10 @@ +hasMany(TextblockKennung::class, 'id'); - } } diff --git a/app/Models/TextblockKennung.php b/app/Models/TextblockKennung.php deleted file mode 100644 index fe170f3..0000000 --- a/app/Models/TextblockKennung.php +++ /dev/null @@ -1,12 +0,0 @@ - 'excel', 1 => 'logo', 2 => 'pdf', + 3 => 'siegel', ), ), 'heroicons' => diff --git a/bootstrap/cache/config.php b/bootstrap/cache/config.php index ce7485b..f053558 100644 --- a/bootstrap/cache/config.php +++ b/bootstrap/cache/config.php @@ -124,9 +124,9 @@ 'timezone' => 'UTC', 'locale' => 'de', 'fallback_locale' => 'en', - 'faker_locale' => 'de_AT', + 'faker_locale' => 'at_AT', 'cipher' => 'AES-256-CBC', - 'key' => 'base64:3uv/ppXplpqmYtiZ5ZyILnoOTmKfZAz27bfsnR1qmaE=', + 'key' => 'base64:yRi9h21i7xAkGpeF7JoArovQJU1w6xwczQ6ijpYpJrs=', 'previous_keys' => array ( ), diff --git a/bootstrap/cache/routes-v7.php b/bootstrap/cache/routes-v7.php index 73fa5ce..30b8fc0 100644 --- a/bootstrap/cache/routes-v7.php +++ b/bootstrap/cache/routes-v7.php @@ -531,7 +531,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::e49aps4aQONLVTWt', + '_route' => 'generated::miopsq0K1HrZfTFf', ), 1 => NULL, 2 => @@ -551,7 +551,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::q6W1ELsYeTKdrkd1', + '_route' => 'generated::TFjsvS4T7LX9C5Bj', ), 1 => NULL, 2 => @@ -609,7 +609,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::3pkhx5Z3rpV06SKQ', + '_route' => 'generated::BmV7ODeKY8KcqAM5', ), 1 => NULL, 2 => @@ -629,7 +629,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::HIxTYKYuGieAD5C1', + '_route' => 'generated::ixhBlM4fTcynFByI', ), 1 => NULL, 2 => @@ -649,7 +649,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::r6YUk0D6jqybwqGA', + '_route' => 'generated::RWJiH3xHLvAfuWDx', ), 1 => NULL, 2 => @@ -669,7 +669,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::d07u8ErdJPIt0Bb1', + '_route' => 'generated::fW0j8lWigChGVWrL', ), 1 => NULL, 2 => @@ -689,7 +689,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::lEsY9aMqtMS0xfDF', + '_route' => 'generated::fQMNejQQ6d7WKdHV', ), 1 => NULL, 2 => @@ -2740,7 +2740,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::e49aps4aQONLVTWt' => + 'generated::miopsq0K1HrZfTFf' => array ( 'methods' => array ( @@ -2752,7 +2752,7 @@ app('router')->setCompiledRoutes( array ( 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile', - 'as' => 'generated::e49aps4aQONLVTWt', + 'as' => 'generated::miopsq0K1HrZfTFf', ), 'fallback' => false, 'defaults' => @@ -2768,7 +2768,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::q6W1ELsYeTKdrkd1' => + 'generated::TFjsvS4T7LX9C5Bj' => array ( 'methods' => array ( @@ -2780,7 +2780,7 @@ app('router')->setCompiledRoutes( array ( 'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', 'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps', - 'as' => 'generated::q6W1ELsYeTKdrkd1', + 'as' => 'generated::TFjsvS4T7LX9C5Bj', ), 'fallback' => false, 'defaults' => @@ -2882,7 +2882,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::3pkhx5Z3rpV06SKQ' => + 'generated::BmV7ODeKY8KcqAM5' => array ( 'methods' => array ( @@ -2911,7 +2911,7 @@ app('router')->setCompiledRoutes( \'exception\' => $exception, ]), status: $exception ? 500 : 200); }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f3b0000000000000000";}}', - 'as' => 'generated::3pkhx5Z3rpV06SKQ', + 'as' => 'generated::BmV7ODeKY8KcqAM5', ), 'fallback' => false, 'defaults' => @@ -2927,7 +2927,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::HIxTYKYuGieAD5C1' => + 'generated::ixhBlM4fTcynFByI' => array ( 'methods' => array ( @@ -2949,7 +2949,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::HIxTYKYuGieAD5C1', + 'as' => 'generated::ixhBlM4fTcynFByI', ), 'fallback' => false, 'defaults' => @@ -2965,7 +2965,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::r6YUk0D6jqybwqGA' => + 'generated::RWJiH3xHLvAfuWDx' => array ( 'methods' => array ( @@ -2987,7 +2987,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::r6YUk0D6jqybwqGA', + 'as' => 'generated::RWJiH3xHLvAfuWDx', ), 'fallback' => false, 'defaults' => @@ -3003,7 +3003,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::d07u8ErdJPIt0Bb1' => + 'generated::fW0j8lWigChGVWrL' => array ( 'methods' => array ( @@ -3025,7 +3025,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::d07u8ErdJPIt0Bb1', + 'as' => 'generated::fW0j8lWigChGVWrL', ), 'fallback' => false, 'defaults' => @@ -3041,7 +3041,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::lEsY9aMqtMS0xfDF' => + 'generated::fQMNejQQ6d7WKdHV' => array ( 'methods' => array ( @@ -3063,7 +3063,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::lEsY9aMqtMS0xfDF', + 'as' => 'generated::fQMNejQQ6d7WKdHV', ), 'fallback' => false, 'defaults' => diff --git a/database/migrations/2025_09_05_131323_create_gutachter_tables.php b/database/migrations/2025_09_05_131323_create_gutachter_tables.php index 0f6b2f4..92a36e7 100644 --- a/database/migrations/2025_09_05_131323_create_gutachter_tables.php +++ b/database/migrations/2025_09_05_131323_create_gutachter_tables.php @@ -19,6 +19,7 @@ return new class extends Migration $table->string('name')->nullable(); $table->string('company')->nullable(); $table->string('logo')->nullable(); + $table->string('digitale_signatur_stempel')->nullable(); $table->string('email')->nullable(); $table->string('phone')->nullable(); $table->string('logo_align')->default('right'); diff --git a/database/migrations/2025_10_02_163208_create_textblocks_table.php b/database/migrations/2025_10_02_163208_create_textblocks_table.php index d6245f2..d46fc12 100644 --- a/database/migrations/2025_10_02_163208_create_textblocks_table.php +++ b/database/migrations/2025_10_02_163208_create_textblocks_table.php @@ -15,7 +15,6 @@ return new class extends Migration $table->id(); $table->string('name'); $table->string('beschreibung')->nullable(); - $table->integer('textblock_kennung_id')->default(0)->nullable(); $table->text('textblock'); $table->timestamps(); }); diff --git a/database/migrations/2025_10_02_170241_create_inhaltsverzeichnis_table.php b/database/migrations/2025_10_02_170241_create_inhaltsverzeichnis_table.php index be2d054..bb0ad34 100644 --- a/database/migrations/2025_10_02_170241_create_inhaltsverzeichnis_table.php +++ b/database/migrations/2025_10_02_170241_create_inhaltsverzeichnis_table.php @@ -14,9 +14,11 @@ return new class extends Migration Schema::create('inhaltsverzeichnis', function (Blueprint $table) { $table->id(); $table->string('name'); - $table->integer('textblock_kennung_id')->default(0)->nullable(); + $table->boolean('ueberschrift_nicht_anzeigen')->default(0)->nullable(); + $table->integer('tabellen_id')->default(0)->nullable(); + $table->integer('textblock_id')->default(0)->nullable(); $table->integer('sort')->default(0); - $table->double('ordnungszahl')->default(0.00); + $table->double('ordnungszahl')->default(0); $table->integer('seite')->default(0); $table->timestamps(); }); diff --git a/database/migrations/2025_10_10_085849_create_projekt_inhaltsverzeichnis_table.php b/database/migrations/2025_10_10_085849_create_projekt_inhaltsverzeichnis_table.php index 27583a6..4866843 100644 --- a/database/migrations/2025_10_10_085849_create_projekt_inhaltsverzeichnis_table.php +++ b/database/migrations/2025_10_10_085849_create_projekt_inhaltsverzeichnis_table.php @@ -14,12 +14,14 @@ return new class extends Migration Schema::create('projekt_inhaltsverzeichnis', function (Blueprint $table) { $table->id(); $table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); - $table->integer('textblock_kennung_id')->default(0)->nullable(); - $table->integer('sort')->default(0); - $table->double('ordnungszahl')->default(0.00); $table->string('name'); - $table->text('textblock')->nullable(); + $table->boolean('ueberschrift_nicht_anzeigen')->default(0)->nullable(); + $table->integer('tabellen_id')->default(0)->nullable(); + $table->integer('textblock_id')->default(0)->nullable(); + $table->integer('sort')->default(0); + $table->double('ordnungszahl')->default(0); $table->integer('seite')->default(0); + $table->text('textblock')->nullable(); $table->timestamps(); }); } diff --git a/database/migrations/2025_10_10_091736_create_textblock_kennungs_table.php b/database/migrations/2025_10_18_065212_create_tabellens_table.php similarity index 72% rename from database/migrations/2025_10_10_091736_create_textblock_kennungs_table.php rename to database/migrations/2025_10_18_065212_create_tabellens_table.php index 0ec0a66..73a2065 100644 --- a/database/migrations/2025_10_10_091736_create_textblock_kennungs_table.php +++ b/database/migrations/2025_10_18_065212_create_tabellens_table.php @@ -11,9 +11,9 @@ return new class extends Migration */ public function up(): void { - Schema::create('textblock_kennungs', function (Blueprint $table) { + Schema::create('tabellens', function (Blueprint $table) { $table->id(); - $table->string('name'); + $table->text('name')->nullable(); $table->timestamps(); }); } @@ -23,6 +23,6 @@ return new class extends Migration */ public function down(): void { - Schema::dropIfExists('textblock_kennungs'); + Schema::dropIfExists('tabellens'); } }; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 7341db0..2dcbae3 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -19,8 +19,8 @@ class DatabaseSeeder extends Seeder MethodeSeeder::class, OrientierungenSeeder::class, PlansSeeder::class, + TabellenSeeder::class, TextblockSeeder::class, - TextblockKennungSeeder::class, InhaltsverzeichnisSeeder::class, KontoSeeder::class, GutachterSeeder::class, diff --git a/database/seeders/InhaltsverzeichnisSeeder.php b/database/seeders/InhaltsverzeichnisSeeder.php index 033175b..3d2386a 100644 --- a/database/seeders/InhaltsverzeichnisSeeder.php +++ b/database/seeders/InhaltsverzeichnisSeeder.php @@ -12,34 +12,37 @@ class InhaltsverzeichnisSeeder extends Seeder */ public function run(): void { - $sql = "INSERT INTO `inhaltsverzeichnis` (`id`, `name`, `textblock_kennung_id`, `sort`, `ordnungszahl`, `seite`, `created_at`, `updated_at`) + $sql = "INSERT INTO `inhaltsverzeichnis` (`id`, `sort`, `ordnungszahl`, `name`, `ueberschrift_nicht_anzeigen`, `tabellen_id`, `textblock_id`, `seite`, `created_at`, `updated_at`) VALUES - ('1', 'DECKBLATT', '11', '0', '0', '0', NULL, NULL), - ('2', 'ALLGEMEINE ANGABEN', '0', '1', '1', '3', NULL, NULL), - ('3', 'AUFTRAGGEBER', '0', '2', '1.1', '3', NULL, NULL), - ('4', 'ZWECK UND GEGENSTAND DES GUTACHTENS', '1', '3', '1.2', '3', NULL, NULL), - ('5', 'ORTSBESICHTIGUNG', '2', '4', '1.3', '3', NULL, NULL), - ('6', 'UNTERLAGEN', '3', '5', '1.4', '3', NULL, NULL), - ('7', 'BEFUND', '0', '6', '2', '4', NULL, NULL), - ('8', 'GRUNDBUCHSTAND', '4', '7', '2.1', '4', NULL, NULL), - ('9', 'BESCHREIBUNG DER LIEGENSCHAFT', '5', '8', '2.2', '4', NULL, NULL), - ('10', '§ 6 Teil 1', '6', '9', '2.3', '5', NULL, NULL), - ('11', 'Tabelle § 6', '0', '10', '0', '5', NULL, NULL), - ('12', '§ 6 Teil 2', '7', '11', '2.3', '5', NULL, NULL), - ('13', 'GUTACHTEN', '0', '12', '3', '0', NULL, NULL), - ('14', 'ALLGEMEINE GRUNDSÄTZE', '8', '13', '3.1', '0', NULL, NULL), - ('15', 'ERMITTLUNG DER NUTZWERTE – ZUBEHÖRBEWERTUNG', '9', '14', '3.2', '0', NULL, NULL), - ('16', 'TABELLE ZU + ABSCHLÄGE', '0', '15', '3.21', '0', NULL, NULL), - ('17', 'Zubehör', '10', '16', '0', '0', NULL, NULL), - ('18', 'NUTZWERTBERECHNUNG', '0', '17', '3.3', '0', NULL, NULL), - ('19', 'ZUSAMMENSTELLUNG', '0', '18', '3.4', '0', NULL, NULL), - ('20', 'ALLGEMEINFLÄCHEN', '0', '19', '3.5', '0', NULL, NULL), - ('21', 'PARIFIZIERUNGSPLÄNE ', '0', '20', '4', '0', NULL, NULL), - ('22', 'ANHANG', '0', '21', '5', '0', NULL, NULL), - ('23', 'GRUNDBUCHAUSZUG ', '0', '22', '0', '0', NULL, NULL), - ('24', 'BAUBESCHEID', '0', '23', '0', '0', NULL, NULL), - ('25', 'HAUSTECHNISCHE BESCHREIBUNG', '0', '24', '0', '0', NULL, NULL), - ('26', 'NUTZFLÄCHENERMITTLUNGEN', '0', '25', '0', '0', NULL, NULL); + ('1', '1', '0', 'DECKBLATT', '1', '0', '11', '0', NULL, '2025-10-19 08:13:53'), + ('2', '3', '0', 'INHALTSVERZEICHNIS', '1', '1', '0', '0', NULL, '2025-10-19 08:13:53'), + ('3', '4', '1', 'ALLGEMEINE ANGABEN', '0', '0', '0', '3', NULL, '2025-10-19 08:13:53'), + ('4', '5', '1.1', 'AUFTRAGGEBER', '0', '0', '0', '3', NULL, '2025-10-19 08:13:53'), + ('5', '6', '1.2', 'ZWECK UND GEGENSTAND DES GUTACHTENS', '0', '0', '1', '3', NULL, '2025-10-19 08:13:53'), + ('6', '7', '1.3', 'ORTSBESICHTIGUNG', '0', '0', '2', '3', NULL, '2025-10-19 08:13:53'), + ('7', '8', '1.4', 'UNTERLAGEN', '0', '0', '3', '3', NULL, '2025-10-19 08:13:53'), + ('8', '9', '2', 'BEFUND', '0', '0', '0', '4', NULL, '2025-10-19 08:13:53'), + ('9', '10', '2.1', 'GRUNDBUCHSTAND', '0', '0', '4', '4', NULL, '2025-10-19 08:13:53'), + ('10', '11', '2.2', 'BESCHREIBUNG DER LIEGENSCHAFT', '0', '0', '5', '4', NULL, '2025-10-19 08:13:53'), + ('11', '12', '2.3', 'ANZAHL DER SELBSTÄNDIGEN EINHEITEN § 6 WEG 2002', '0', '0', '6', '5', NULL, '2025-10-19 08:13:53'), + ('12', '13', '0', 'Tabelle § 6', '1', '3', '0', '5', NULL, '2025-10-19 08:13:53'), + ('13', '14', '2.3', '§ 6 Teil 2', '0', '0', '7', '5', NULL, '2025-10-19 08:13:53'), + ('14', '15', '0', 'ALLGEMEINFLÄCHEN', '0', '4', '0', '0', NULL, '2025-10-19 08:13:53'), + ('15', '16', '3', 'GUTACHTEN', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('16', '17', '3.1', 'ALLGEMEINE GRUNDSÄTZE', '0', '0', '8', '0', NULL, '2025-10-19 08:13:53'), + ('17', '18', '3.2', 'ERMITTLUNG DER NUTZWERTE – ZUBEHÖRBEWERTUNG', '0', '0', '9', '0', NULL, '2025-10-19 08:13:53'), + ('18', '19', '0', 'ZUBEHÖR', '0', '0', '10', '0', NULL, '2025-10-19 08:13:53'), + ('19', '20', '3.21', 'TABELLE ZU + ABSCHLÄGE', '1', '5', '0', '0', NULL, '2025-10-19 08:13:53'), + ('20', '21', '3.3', 'NUTZWERTBERECHNUNG', '0', '6', '0', '0', NULL, '2025-10-19 08:13:53'), + ('21', '22', '3.4', 'ZUSAMMENSTELLUNG', '0', '7', '0', '0', NULL, '2025-10-19 08:13:53'), + ('22', '23', '3.41', 'DIGITALE SIGNATUR', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('23', '24', '3.5', 'ALLGEMEINFLÄCHEN', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('24', '25', '4', 'PARIFIZIERUNGSPLÄNE ', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('25', '26', '5', 'ANHANG', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('26', '27', '0', 'GRUNDBUCHAUSZUG ', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('27', '28', '0', 'BAUBESCHEID', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('28', '29', '0', 'HAUSTECHNISCHE BESCHREIBUNG', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'), + ('29', '30', '0', 'NUTZFLÄCHENERMITTLUNGEN', '0', '0', '0', '0', NULL, '2025-10-19 08:13:53'); "; DB::unprepared($sql); } diff --git a/database/seeders/TabellenSeeder.php b/database/seeders/TabellenSeeder.php new file mode 100644 index 0000000..21fd201 --- /dev/null +++ b/database/seeders/TabellenSeeder.php @@ -0,0 +1,27 @@ +
Ermittlung der Nutzwerte und Mindestanteile der Wohnungseigentumsobjekte der Liegenschaft EZ ###EINLAGEZAHL###, GB ###GRUNDBUCH###, zum Zwecke eines abweichenden Verteilungsschlüssels gemäß §16 Absatz 3 des WGG1979.
Dieses Gutachten ist nicht als Grundlage für die Begründung von Wohnungseigentum heranzuziehen.', NULL, NULL), - ('2', 'ORTSBESICHTIGUNG', '2', 'Am ###ORTSBESICHTIGUNG###', NULL, NULL), - ('3', 'UNTERLAGEN', '3', 'Grundbuchsauszug: EZ ###EINLAGEZAHL###
Baubescheid Zl.: ###BAUBESCHEID###
Planunterlagen: ###PLANUNTERLAGEN###
Auflistung Widmung Abstellplätze (als Anhang zum email vom XX.XX.XXXX, von nht)', NULL, NULL), - ('4', 'GRUNDBUCHSTAND', '4', '

Liegenschaftsadresse|###LIEGENSCHAFTSADRESSE###
Grundbuch|###GRUNDBUCH###
Einlagezahl|###EINLAGEZAHL###
Grundstücksnummer|###GSTNR###
Bezirksgericht|###BEZIRKSGERICHT###

', NULL, NULL), - ('5', 'BESCHREIBUNG DER LIEGENSCHAFT', '5', 'Auf der Liegenschaft EZ ###EINLAGEZAHL###, GB ###GRUNDBUCH### wurde durch den Baubescheid Zl. ###BAUBESCHEID### der Gemeinde ###BESCHEIDGEMEINDE### der Neubau einer Wohnanlage bewilligt. Der vorzitierte Baubewilligungsbescheid ist in Rechtskraft erwachsen.
________

Das gegenständliche "Haus 7" bildet den 4.Bauabschnitt der Wohnhausanlage "Südtiroler Siedlung" in Zams.

Aus städtebaulicher Sicht wird die typische, hauptsächlich aus Einzelhäusern bestehende Bebauungsstruktur des Ortsteils aufgenommen.
Die Wohngebäude sind als Vier- bzw. Fünfspänner mit eingeschobener Erschließungs- und Balkonstruktur konzipiert. Die Wohnbereiche sind in je zwei kompakten Kuben untergebracht.
Die an der Südwestseite eingeschobene und vorgelagerte Balkonstruktur besteht aus einer Metallrahmenkonstruktion mit eingelegten Bodenelementen aus Holz.

Die ersten drei  Baustufen beinhalten je zwei Baukörper mit zwölf bzw. fünfzehn Wohneinheiten. Die zugehörige Tiefgarage wird über eine einspurige Rampe im Norden erschlossen.

Die vierte Baustufe ("Haus 7") beinhaltet 15 Wohneinheiten und liegt im Südwesten der Gesamtanlage,  wobei sich auch die Fahrradräume, Müllraum, Spielplatz und unterirdische Stellplätze im Bereich der ersten drei Baustufen befinden.

Freiparkplätze befinden sich nordwestlich des Haus 7 und bilden einen Teil der Allgemeinfläche.', NULL, NULL), - ('6', '§ 6 Teil 1', '6', '

Es wird bestätigt, dass die Wohnanlage (Gst-Nr. ###GSTNR### In EZ ###EINLAGEZAHL###) folgende Einheiten umfasst, an welchen Wohnungseigentum begründet wird:
Grundlage ist die Einreichplanung mit dem Baubescheid Zl. ###BAUBESCHEID### sowie die Werkplanung.

XX Wohnungen (mit vorangestelltem "W") samt Zubehör.
XX Kfz-Stellplätze in der Tiefgarage (mit vorangestelltem "P")

Weitere XX Stellplätze in der Tiefgarage sowie XX freie Stellplätze verbleiben laut Widmung zur allgemeinen Benützung.

', NULL, NULL), - ('7', '§ 6 Teil 2', '7', 'Weiters wird bescheinigt, dass sich auf der Liegenschaft keine Wohnungen befinden, an denen nicht Wohnungseigentum begründet werden kann.
Die im folgenden aufgelisteten Teile der Liegenschaft dienen der allgemeinen Benützung oder haben eine Zweckbestimmung, die einer ausschließlichen Benützung entgegensteht.
Die Widmung als allgemein nutzbare Fläche erfolgte durch den Auftraggeber/Eigentümer.', NULL, NULL), - ('8', 'ALLGEMEINE GRUNDSÄTZE', '8', '

Wohnungseigentum ist das dem Miteigentümer einer Liegenschaft oder einer Eigentümerpartnerschaft eingeräumte dingliche Recht, ein Wohnungseigentumsobjekt ausschließlich zu nutzen und allein darüber zu verfügen. (Auszug §2 (1))

Wohnungseigentumsobjekte sind Wohnungen, sonstige selbständige Räumlichkeiten und Abstellplätze für Kraftfahrzeuge (wohnungseigentumstaugliche Objekte), an denen Wohnungseigentum begründet wurde. (Auszug §2 (2))

Eine Wohnung ist ein baulich abgeschlossener, nach der Verkehrsauffassung selbständiger Teil eines Gebäudes, der nach seiner Art und Größe geeignet ist, der Befriedigung eines individuellen Wohnbedürfnisses von Menschen zu dienen. Eine sonstige selbständige Räumlichkeit ist ein baulich abgeschlossener, nach der Verkehrsauffassung selbständiger Teil eines Gebäudes, dem nach seiner Art und Größe eine erhebliche wirtschaftliche Bedeutung zukommt, ein Abstellplatz für ein Kraftfahrzeug ist eine - etwa durch Bodenmarkierung - deutlich abgegrenzte Bodenfläche, die ausschließlich zum Abstellen eines Kraftfahrzeugs gewidmet und dazu nach ihrer Größe, Lage und Beschaffenheit geeignet ist. (Auszug §2 (2))

Zubehör-Wohnungseigentum ist das mit dem Wohnungseigentum verbundene Recht, andere, mit dem Wohnungseigentumsobjekt baulich nicht verbundene Teile der Liegenschaft, wie etwa Keller- oder Dachbodenräume, Hausgärten oder Lagerplätze, ausschließlich zu nutzen. (Auszug §2 (3))

Allgemeine Teile der Liegenschaft sind solche, die der allgemeinen Benützung dienen oder deren Zweckbestimmung einer ausschließlichen Benützung entgegensteht. (Auszug §2 (4))

Der Nutzwert ist die Maßzahl, mit der der Wert eines Wohnungseigentumsobjekts im Verhältnis zu den Werten der anderen Wohnungseigentumsobjekte der Liegenschaft bezeichnet wird. Er ergibt sich aus der Nutzfläche des Objekts und aus Zuschlägen oder Abstrichen für werterhöhende oder wertvermindernde Eigenschaften desselben. (Auszug §2 (8))

Der Mindestanteil ist jener Miteigentumsanteil an der Liegenschaft, der zum Erwerb von Wohnungseigentum an einem Wohnungseigentumsobjekt erforderlich ist. Er entspricht dem Verhältnis des Nutzwerts des Objekts zur Summe der Nutzwerte aller Wohnungseigentumsobjekte der Liegenschaft. (Auszug §2 (9))

Der Nutzwert ist in einer ganzen Zahl auszudrücken, wobei Teilbeträge unter 0,5 abgerundet und ab 0,5 aufgerundet werden. Er ist aus der Nutzfläche und aus Zuschlägen oder Abstrichen für Umstände zu berechnen, die nach der Verkehrsauffassung den Wert des Wohnungseigentumsobjekts erhöhen oder vermindern, wie etwa dessen Zweckbestimmung, Stockwerkslage, Lage innerhalb eines Stockwerks oder dessen Ausstattung mit offenen Balkonen, Terrassen und Zubehörobjekten (Auszug §8 (1))

Zuschläge für die Ausstattung mit Zubehörobjekten sowie mit offenen Balkonen und Terrassen sind in einer ganzen Zahl auszudrücken; der Zuschlag ist jedoch mindestens mit der Zahl Eins anzusetzen. (Auszug §8 (2))

Die Wohnungsobjekte erhalten den Buchstaben "W" der Nummer vorangestellt. Die Kfz-Stellplätze erhalten den Buchstaben "P" der Nummer vorangestellt.
Bei den Zubehörobjekten sind die Keller mit einem vorangestellten "K" gekennzeichnet, die Gärten mit einem "G".

', NULL, NULL), - ('9', 'ERMITTLUNG DER NUTZWERTE - ZUBEHÖRBEWERTUNG', '9', '

Es wird vorgeschlagen, die Nutzwerte wie folgt zu bestimmen:

Die Wohnung W07 ist eine Dreizimmerwohnung, liegt im ersten Obergeschoß und ihre Haupträume sind nach Westen orientiert. Diese Wohnung erhält den Regelnutzwert von 1,00.

Folgende Kriterien werden für die Nutzwertberechnung berücksichtigt:

Erdgeschoßlage:

Die Lage im Erdgeschoß führt zu einer Beeinträchtigung durch Einsehbarkeit von den direkt angrenzenden Allgemeinflächen (Zugänge, Wege). Weiters erfolgen Beeinträchtigungen durch den Geländeverlauf, wenn im Nahbereich der Einheit eine nach oben führenden Böschung die Aussicht beeinträchtigt und auch durch das auf dem Bauplatz befindliche Zweitgebäude.

Die Einheit W01 wird durch den direkt im Osten vorbeiführenden Zugangsbereich beeinträchtigt und um -2,5% abgewertet.

Die Einheit W02 wird durch die südlich bzw. südöstlich liegende Böschung sowie durch den Fußweg beeinträchtigt und um -5,0% abgewertet.

Die Einheit W03 orientiert sich mit dem Hauptraum direkt auf das nebenan errichtete Haus B, was an dieser Stelle drei oberirdische Geschoße aufweist. Diese Einheit wird daher um -5,0% abgewertet.

Die Wohnung W11 wird durch den direkt im Osten vorbeiführenden Zugangsbereich beeinträchtigt und um -2,5% abgewertet.

Die Wohneinheit W12 wird durch die südliche Böschung und im Osten durch den Zugangsweg beeinträchtigt und somit um -5,0% abgewertet.

Die Einheit W13 wird durch die im Süden und Westen angelegte Böschung beeinträchtigt und daher um -5,0% abgewertet.

Lage im letzten Geschoß:

Die Wohnungen im letzten Geschoß (Durch den Geländeverlauf betrifft das beim Haus A das 2. Obergeschoß und beim Haus B das 3.) werden aufgrund der günstigeren Aussichts- und Besonnungsmöglichkeit um 2,5% aufgewertet.

Außer die Wohnung W20: Hier ist durch die gute dreiseitige Orientierung nach Süden, Osten und Westen ein Zuschlag von insgesamt 5,0% gerechtfertigt.

KFZ-Abstellplätze:
Die Stellplätze in der Tiefgarage werden mit 55% des Regelnutzwertes bewertet.
Jene in der Tiefgarage, welche eine Übergröße aufweisen mit 50%.

Die Balkon- und Terrassenflächen werden mit 25% des Regelnutzwertes in Ansatz gebracht.

Hinweis: Einige Wohnungen werden insgesamt um 2,5% auf- bzw. abgewertet. Unter dem Punkt 3.30 Nutzwertberechnung wird dies für die einzelnen Wohnungen nachvollziehbar dargestellt. Hier wird der Faktor auf zwei Stellen gerundet angeschrieben, jedoch richtigerweise mit 97,5% bzw. 102,5% berechnet.

Bemerkung: Nach Rücksprache mit dem Auftraggeber (Freigabe am 29.09.2014) wurden folgende Flächen wie im aktuellen Außenanlagenplan (Eingang 25.09.2014, vom Architekten) dargestellt in Ansatz gebracht:
Die Terrasse W02 wurde nach Westen hin verschoben. Der Garten G02 wurde aufgrund des Fußweges verändert. Die Gärten der Wohnungen W12 und W13 werden in ihrem Flächenausmaß so wie in den Verkaufsunterlagen dargestellt in Ansatz gebracht.

', NULL, NULL), - ('10', 'ZUBEHÖR', '10', '

Die Gartenflächen werden mit 5% ihres Flächenausmaßes in Ansatz gebracht.

Die Kellerabteile (Lattenverschlag) werden mit 15% ihrer Fläche berechnet.

', NULL, NULL), - ('11', 'DECKBLATT', '11', '

P ###GUTACHTEN_P_NR### WEG 2002
EZ ###EINLAGEZAHL### des GB ###GRUNDBUCH###

.', NULL, NULL); + ('1', 'ZWECK UND GEGENSTAND DES GUTACHTENS', 'Ermittlung der Nutzwerte und Mindestanteile der Wohnungseigentumsobjekte der Liegenschaft EZ ###EINLAGEZAHL###, GB ###GRUNDBUCH###, zum Zwecke der Begründung von Wohnungseigentum im Sinne des Wohnungseigentumsgesetzes 2002 in der geltenden Fassung.

Ermittlung der Nutzwerte und Mindestanteile der Wohnungseigentumsobjekte der Liegenschaft EZ ###EINLAGEZAHL###, GB ###GRUNDBUCH###, zum Zwecke eines abweichenden Verteilungsschlüssels gemäß §16 Absatz 3 des WGG1979.
Dieses Gutachten ist nicht als Grundlage für die Begründung von Wohnungseigentum heranzuziehen.', NULL, NULL), + ('2', 'ORTSBESICHTIGUNG', 'Am ###ORTSBESICHTIGUNG###', NULL, NULL), + ('3', 'UNTERLAGEN', 'Grundbuchsauszug: EZ ###EINLAGEZAHL###
Baubescheid Zl.: ###BAUBESCHEID###
Planunterlagen: ###PLANUNTERLAGEN###
Auflistung Widmung Abstellplätze (als Anhang zum email vom XX.XX.XXXX, von nht)', NULL, NULL), + ('4', 'GRUNDBUCHSTAND', '

Liegenschaftsadresse|###LIEGENSCHAFTSADRESSE###
Grundbuch|###GRUNDBUCH###
Einlagezahl|###EINLAGEZAHL###
Grundstücksnummer|###GSTNR###
Bezirksgericht|###BEZIRKSGERICHT###

', NULL, NULL), + ('5', 'BESCHREIBUNG DER LIEGENSCHAFT', 'Auf der Liegenschaft EZ ###EINLAGEZAHL###, GB ###GRUNDBUCH### wurde durch den Baubescheid Zl. ###BAUBESCHEID### der Gemeinde ###BESCHEIDGEMEINDE### der Neubau einer Wohnanlage bewilligt. Der vorzitierte Baubewilligungsbescheid ist in Rechtskraft erwachsen.
________

Das gegenständliche "Haus 7" bildet den 4.Bauabschnitt der Wohnhausanlage "Südtiroler Siedlung" in Zams.

Aus städtebaulicher Sicht wird die typische, hauptsächlich aus Einzelhäusern bestehende Bebauungsstruktur des Ortsteils aufgenommen.
Die Wohngebäude sind als Vier- bzw. Fünfspänner mit eingeschobener Erschließungs- und Balkonstruktur konzipiert. Die Wohnbereiche sind in je zwei kompakten Kuben untergebracht.
Die an der Südwestseite eingeschobene und vorgelagerte Balkonstruktur besteht aus einer Metallrahmenkonstruktion mit eingelegten Bodenelementen aus Holz.

Die ersten drei  Baustufen beinhalten je zwei Baukörper mit zwölf bzw. fünfzehn Wohneinheiten. Die zugehörige Tiefgarage wird über eine einspurige Rampe im Norden erschlossen.

Die vierte Baustufe ("Haus 7") beinhaltet 15 Wohneinheiten und liegt im Südwesten der Gesamtanlage,  wobei sich auch die Fahrradräume, Müllraum, Spielplatz und unterirdische Stellplätze im Bereich der ersten drei Baustufen befinden.

Freiparkplätze befinden sich nordwestlich des Haus 7 und bilden einen Teil der Allgemeinfläche.', NULL, NULL), + ('6', '§ 6 Teil 1', '

Es wird bestätigt, dass die Wohnanlage (Gst-Nr. ###GSTNR### In EZ ###EINLAGEZAHL###) folgende Einheiten umfasst, an welchen Wohnungseigentum begründet wird:
Grundlage ist die Einreichplanung mit dem Baubescheid Zl. ###BAUBESCHEID### sowie die Werkplanung.

XX Wohnungen (mit vorangestelltem "W") samt Zubehör.
XX Kfz-Stellplätze in der Tiefgarage (mit vorangestelltem "P")

Weitere XX Stellplätze in der Tiefgarage sowie XX freie Stellplätze verbleiben laut Widmung zur allgemeinen Benützung.

', NULL, NULL), + ('7', '§ 6 Teil 2', 'Weiters wird bescheinigt, dass sich auf der Liegenschaft keine Wohnungen befinden, an denen nicht Wohnungseigentum begründet werden kann.
Die im folgenden aufgelisteten Teile der Liegenschaft dienen der allgemeinen Benützung oder haben eine Zweckbestimmung, die einer ausschließlichen Benützung entgegensteht.
Die Widmung als allgemein nutzbare Fläche erfolgte durch den Auftraggeber/Eigentümer.', NULL, NULL), + ('8', 'ALLGEMEINE GRUNDSÄTZE', '

Wohnungseigentum ist das dem Miteigentümer einer Liegenschaft oder einer Eigentümerpartnerschaft eingeräumte dingliche Recht, ein Wohnungseigentumsobjekt ausschließlich zu nutzen und allein darüber zu verfügen. (Auszug §2 (1))

Wohnungseigentumsobjekte sind Wohnungen, sonstige selbständige Räumlichkeiten und Abstellplätze für Kraftfahrzeuge (wohnungseigentumstaugliche Objekte), an denen Wohnungseigentum begründet wurde. (Auszug §2 (2))

Eine Wohnung ist ein baulich abgeschlossener, nach der Verkehrsauffassung selbständiger Teil eines Gebäudes, der nach seiner Art und Größe geeignet ist, der Befriedigung eines individuellen Wohnbedürfnisses von Menschen zu dienen. Eine sonstige selbständige Räumlichkeit ist ein baulich abgeschlossener, nach der Verkehrsauffassung selbständiger Teil eines Gebäudes, dem nach seiner Art und Größe eine erhebliche wirtschaftliche Bedeutung zukommt, ein Abstellplatz für ein Kraftfahrzeug ist eine - etwa durch Bodenmarkierung - deutlich abgegrenzte Bodenfläche, die ausschließlich zum Abstellen eines Kraftfahrzeugs gewidmet und dazu nach ihrer Größe, Lage und Beschaffenheit geeignet ist. (Auszug §2 (2))

Zubehör-Wohnungseigentum ist das mit dem Wohnungseigentum verbundene Recht, andere, mit dem Wohnungseigentumsobjekt baulich nicht verbundene Teile der Liegenschaft, wie etwa Keller- oder Dachbodenräume, Hausgärten oder Lagerplätze, ausschließlich zu nutzen. (Auszug §2 (3))

Allgemeine Teile der Liegenschaft sind solche, die der allgemeinen Benützung dienen oder deren Zweckbestimmung einer ausschließlichen Benützung entgegensteht. (Auszug §2 (4))

Der Nutzwert ist die Maßzahl, mit der der Wert eines Wohnungseigentumsobjekts im Verhältnis zu den Werten der anderen Wohnungseigentumsobjekte der Liegenschaft bezeichnet wird. Er ergibt sich aus der Nutzfläche des Objekts und aus Zuschlägen oder Abstrichen für werterhöhende oder wertvermindernde Eigenschaften desselben. (Auszug §2 (8))

Der Mindestanteil ist jener Miteigentumsanteil an der Liegenschaft, der zum Erwerb von Wohnungseigentum an einem Wohnungseigentumsobjekt erforderlich ist. Er entspricht dem Verhältnis des Nutzwerts des Objekts zur Summe der Nutzwerte aller Wohnungseigentumsobjekte der Liegenschaft. (Auszug §2 (9))

Der Nutzwert ist in einer ganzen Zahl auszudrücken, wobei Teilbeträge unter 0,5 abgerundet und ab 0,5 aufgerundet werden. Er ist aus der Nutzfläche und aus Zuschlägen oder Abstrichen für Umstände zu berechnen, die nach der Verkehrsauffassung den Wert des Wohnungseigentumsobjekts erhöhen oder vermindern, wie etwa dessen Zweckbestimmung, Stockwerkslage, Lage innerhalb eines Stockwerks oder dessen Ausstattung mit offenen Balkonen, Terrassen und Zubehörobjekten (Auszug §8 (1))

Zuschläge für die Ausstattung mit Zubehörobjekten sowie mit offenen Balkonen und Terrassen sind in einer ganzen Zahl auszudrücken; der Zuschlag ist jedoch mindestens mit der Zahl Eins anzusetzen. (Auszug §8 (2))

Die Wohnungsobjekte erhalten den Buchstaben "W" der Nummer vorangestellt. Die Kfz-Stellplätze erhalten den Buchstaben "P" der Nummer vorangestellt.
Bei den Zubehörobjekten sind die Keller mit einem vorangestellten "K" gekennzeichnet, die Gärten mit einem "G".

', NULL, NULL), + ('9', 'ERMITTLUNG DER NUTZWERTE - ZUBEHÖRBEWERTUNG', '

Es wird vorgeschlagen, die Nutzwerte wie folgt zu bestimmen:

Die Wohnung W07 ist eine Dreizimmerwohnung, liegt im ersten Obergeschoß und ihre Haupträume sind nach Westen orientiert. Diese Wohnung erhält den Regelnutzwert von 1,00.

Folgende Kriterien werden für die Nutzwertberechnung berücksichtigt:

Erdgeschoßlage:

Die Lage im Erdgeschoß führt zu einer Beeinträchtigung durch Einsehbarkeit von den direkt angrenzenden Allgemeinflächen (Zugänge, Wege). Weiters erfolgen Beeinträchtigungen durch den Geländeverlauf, wenn im Nahbereich der Einheit eine nach oben führenden Böschung die Aussicht beeinträchtigt und auch durch das auf dem Bauplatz befindliche Zweitgebäude.

Die Einheit W01 wird durch den direkt im Osten vorbeiführenden Zugangsbereich beeinträchtigt und um -2,5% abgewertet.

Die Einheit W02 wird durch die südlich bzw. südöstlich liegende Böschung sowie durch den Fußweg beeinträchtigt und um -5,0% abgewertet.

Die Einheit W03 orientiert sich mit dem Hauptraum direkt auf das nebenan errichtete Haus B, was an dieser Stelle drei oberirdische Geschoße aufweist. Diese Einheit wird daher um -5,0% abgewertet.

Die Wohnung W11 wird durch den direkt im Osten vorbeiführenden Zugangsbereich beeinträchtigt und um -2,5% abgewertet.

Die Wohneinheit W12 wird durch die südliche Böschung und im Osten durch den Zugangsweg beeinträchtigt und somit um -5,0% abgewertet.

Die Einheit W13 wird durch die im Süden und Westen angelegte Böschung beeinträchtigt und daher um -5,0% abgewertet.

Lage im letzten Geschoß:

Die Wohnungen im letzten Geschoß (Durch den Geländeverlauf betrifft das beim Haus A das 2. Obergeschoß und beim Haus B das 3.) werden aufgrund der günstigeren Aussichts- und Besonnungsmöglichkeit um 2,5% aufgewertet.

Außer die Wohnung W20: Hier ist durch die gute dreiseitige Orientierung nach Süden, Osten und Westen ein Zuschlag von insgesamt 5,0% gerechtfertigt.

KFZ-Abstellplätze:
Die Stellplätze in der Tiefgarage werden mit 55% des Regelnutzwertes bewertet.
Jene in der Tiefgarage, welche eine Übergröße aufweisen mit 50%.

Die Balkon- und Terrassenflächen werden mit 25% des Regelnutzwertes in Ansatz gebracht.

Hinweis: Einige Wohnungen werden insgesamt um 2,5% auf- bzw. abgewertet. Unter dem Punkt 3.30 Nutzwertberechnung wird dies für die einzelnen Wohnungen nachvollziehbar dargestellt. Hier wird der Faktor auf zwei Stellen gerundet angeschrieben, jedoch richtigerweise mit 97,5% bzw. 102,5% berechnet.

Bemerkung: Nach Rücksprache mit dem Auftraggeber (Freigabe am 29.09.2014) wurden folgende Flächen wie im aktuellen Außenanlagenplan (Eingang 25.09.2014, vom Architekten) dargestellt in Ansatz gebracht:
Die Terrasse W02 wurde nach Westen hin verschoben. Der Garten G02 wurde aufgrund des Fußweges verändert. Die Gärten der Wohnungen W12 und W13 werden in ihrem Flächenausmaß so wie in den Verkaufsunterlagen dargestellt in Ansatz gebracht.

', NULL, NULL), + ('10', 'ZUBEHÖR', '

Die Gartenflächen werden mit 5% ihres Flächenausmaßes in Ansatz gebracht.

Die Kellerabteile (Lattenverschlag) werden mit 15% ihrer Fläche berechnet.

', NULL, NULL), + ('11', 'DECKBLATT', '

P ###GUTACHTEN_P_NR### WEG 2002
EZ ###EINLAGEZAHL### des GB ###GRUNDBUCH###

.', NULL, NULL), + ('12', 'EIGENER TEXTBLOCK', 'EIGENER TEXTBLOCK', NULL, NULL); "; DB::unprepared($sql); } diff --git a/resources/svg/siegel.svg b/resources/svg/siegel.svg new file mode 100644 index 0000000..ca23c95 --- /dev/null +++ b/resources/svg/siegel.svg @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/storage/hvf-logos/avf-stempel.png b/storage/hvf-logos/avf-stempel.png new file mode 100644 index 0000000000000000000000000000000000000000..4409fe349116f7586afdc507d93270f9223b4685 GIT binary patch literal 69498 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 Hu0mjfLA