diff --git a/app/Filament/Imports/AllgemeinflaechenImporter.php b/app/Filament/Imports/ProjektAllgemeinflaechenImporter.php similarity index 100% rename from app/Filament/Imports/AllgemeinflaechenImporter.php rename to app/Filament/Imports/ProjektAllgemeinflaechenImporter.php diff --git a/app/Filament/Imports/RaeumealleImporter.php b/app/Filament/Imports/ProjektRaeumealleImporter.php similarity index 100% rename from app/Filament/Imports/RaeumealleImporter.php rename to app/Filament/Imports/ProjektRaeumealleImporter.php diff --git a/app/Filament/Resources/Projektes/Pages/EditProjekte.php b/app/Filament/Resources/Projektes/Pages/EditProjekte.php index eddae4e..6ebadb5 100644 --- a/app/Filament/Resources/Projektes/Pages/EditProjekte.php +++ b/app/Filament/Resources/Projektes/Pages/EditProjekte.php @@ -3,14 +3,21 @@ namespace App\Filament\Resources\Projektes\Pages; use App\Actions\Validation\GutachtenValidation; +use App\Filament\Imports\ProjektAllgemeinflaechenImporter; +use App\Filament\Imports\ProjektRaeumealleImporter; use App\Filament\Resources\Projektes\ProjekteResource; use App\Models\Konto; +use App\Models\ProjektAllgemeinflaechen; use App\Models\Projekte; +use App\Models\ProjektOrientierungZuAbschlaege; +use App\Models\ProjektRaeumealle; use Filament\Actions\Action; use Filament\Actions\ActionGroup; use Filament\Actions\DeleteAction; +use Filament\Actions\ImportAction; use Filament\Notifications\Notification; use Filament\Resources\Pages\EditRecord; +use Illuminate\Validation\Rules\File; use Livewire\Attributes\On; class EditProjekte extends EditRecord @@ -20,12 +27,78 @@ class EditProjekte extends EditRecord #[On('refreshProjektAllgemeinflaechen'), On('refreshProjektRaeumealle'), On('refreshMethods'), On('refreshOrientierung')] public function refresh(): void {} - // #[On('refreshProjektRaeumealle')] - // public function refresh(): void {} - protected function getHeaderActions(): array { return [ + /** + * IMPORT + */ + ActionGroup::make([ + ImportAction::make('allgemeinflaechen') + ->hidden(fn ($record): bool => $record->bezahlt_am ? false : true) + ->importer(ProjektAllgemeinflaechenImporter::class) + ->modalHeading('Allgemeinflächen Import') + ->modalContent(view('filament.pages.actions.import-allgemeinflaechen')) + ->modalContentFooter(view('filament.pages.actions.footer-allgemeinflaechen')) + ->label('Allgemeinflächen') + ->icon('phosphor-upload') + ->extraModalFooterActions([ + Action::make('delete') + ->label('Tabelle leeren') + ->color('danger') + ->requiresConfirmation() + ->action(function ($record) { + ProjektAllgemeinflaechen::where('projekte_id', $record->id)->delete(); + + $this->record->refresh(); + + Notification::make() + ->title('Tabelle geleert') + ->success() + ->send(); + }), + ]) + ->options(function ($record) { + return ['projekte_id' => $record->id]; + }) + ->fileRules([ + File::types(['csv', 'txt'])->max(1024), + ]), + ImportAction::make() + ->hidden(fn ($record): bool => $record->bezahlt_am ? false : true) + ->importer(ProjektRaeumealleImporter::class) + ->modalHeading('Objekte im Detail Import') + ->modalContent(view('filament.pages.actions.import-objektemitraeumen')) + ->modalContentFooter(view('filament.pages.actions.footer-objektemitraeumen')) + ->label('Objekte im Detail') + ->icon('phosphor-upload') + ->extraModalFooterActions([ + Action::make('delete') + ->label('Tabellen leeren') + ->color('danger') + ->requiresConfirmation() + ->action(function ($record) { + ProjektRaeumealle::where('projekte_id', $record->id)->delete(); + ProjektOrientierungZuAbschlaege::where('projekte_id', $record->id)->delete(); + + $this->record->refresh(); + + Notification::make() + ->title('Tabellen geleert') + ->success() + ->send(); + }), + ]) + ->options(function ($record) { + return ['projekte_id' => $record->id]; + }) + ->fileRules([ + File::types(['csv', 'txt'])->max(1024), + ]), + ])->label('Importieren') + ->icon('phosphor-upload') + ->color('info') + ->button(), /** * FREISCHALTEN * auth()->user()->konto->guthaben @@ -77,43 +150,56 @@ class EditProjekte extends EditRecord }), /** - * GUTACHTEN - */ - Action::make('gutachten') - ->hidden(fn ($record): bool => (! $record->bezahlt_am || ! $record->pdf_gutachten_status) ? true : false) - ->color('primary') - ->label('Gutachten') - ->icon('icon-pdf') - ->url(fn ($record) => route('standard.download', ['record' => $record, 'mode' => 'file'])) - ->openUrlInNewTab(), - Action::make('make_gutachten') - ->hidden(fn ($record): bool => (! $record->bezahlt_am || $record->pdf_gutachten_status || ! $record->evaluation_gutachten) ? true : false) - ->label('Gutachten') - ->icon('phosphor-calculator') - ->url(fn ($record) => route('standard.download', ['record' => $record, 'mode' => 'new'])) - ->openUrlInNewTab(), - - /** - * NUTZWERTE - */ - Action::make('nutzwerte') - ->hidden(fn ($record): bool => (! $record->bezahlt_am || ! $record->pdf_nutzwerte_status) ? true : false) - ->color('success') - ->label('Nutzwerte') - ->icon('icon-pdf') - ->url(fn ($record) => route('nutzwerte.download', ['record' => $record, 'mode' => 'file'])) - ->openUrlInNewTab(), - Action::make('make_nutzwerte') - ->hidden(fn ($record): bool => (! $record->bezahlt_am || $record->pdf_nutzwerte_status || ! $record->evaluation_gutachten) ? true : false) - ->label('Nutzwerte') - ->icon('phosphor-calculator') - ->url(fn ($record) => route('nutzwerte.download', ['record' => $record, 'mode' => 'new'])) - ->openUrlInNewTab(), - - /** - * EXCEL + * BERECHNEN */ ActionGroup::make([ + Action::make('make_gutachten') + ->hidden(fn ($record): bool => (! $record->bezahlt_am || $record->pdf_gutachten_status || ! $record->evaluation_gutachten) ? true : false) + ->label('Gutachten berechnen') + ->icon('phosphor-calculator') + ->url(fn ($record) => route('standard.download', ['record' => $record, 'mode' => 'new'])) + ->openUrlInNewTab(), + /** + * NUTZWERTE + */ + Action::make('make_nutzwerte') + ->hidden(fn ($record): bool => (! $record->bezahlt_am || $record->pdf_nutzwerte_status || ! $record->evaluation_gutachten) ? true : false) + ->label('Nutzwerte berechnen') + ->icon('phosphor-calculator') + ->url(fn ($record) => route('nutzwerte.download', ['record' => $record, 'mode' => 'new'])) + ->openUrlInNewTab(), + ])->label('Berechnen') + ->icon('phosphor-calculator') + ->color('info') + ->button(), + + /** + * DOWNLOAD + */ + ActionGroup::make([ + /** + * GUTACHTEN + */ + Action::make('download-gutachten') + ->hidden(fn ($record): bool => (! $record->bezahlt_am || ! $record->pdf_gutachten_status) ? true : false) + ->color('success') + ->label('Download Gutachten') + ->icon('icon-pdf') + ->url(fn ($record) => route('standard.download', ['record' => $record, 'mode' => 'file'])) + ->openUrlInNewTab(), + /** + * NUTZWERTE + */ + Action::make('download-nutzwerte') + ->hidden(fn ($record): bool => (! $record->bezahlt_am || ! $record->pdf_nutzwerte_status) ? true : false) + ->color('success') + ->label('Download Nutzwerte') + ->icon('icon-pdf') + ->url(fn ($record) => route('nutzwerte.download', ['record' => $record, 'mode' => 'file'])) + ->openUrlInNewTab(), + /** + * EXCEL + */ Action::make('excel-nutzflaeche-nutzwerte') ->label('Nutzfläche & Nutzwerte') ->icon('icon-excel') @@ -126,10 +212,10 @@ class EditProjekte extends EditRecord ->url(fn ($record) => route('excel.download', ['record' => $record, 'mode' => 'file'])) ->hidden(fn ($record): bool => (! $record->bezahlt_am || ! $record->evaluation_gutachten) ? true : false) ->openUrlInNewTab(), - ])->label('Spreadsheet') - ->icon('icon-excel') - ->button() - ->color('info'), + ])->label('Export') + ->icon('phosphor-download') + ->color('info') + ->button(), DeleteAction::make()->icon('heroicon-o-trash'), ]; } diff --git a/app/Filament/Resources/Projektes/ProjekteResource.php b/app/Filament/Resources/Projektes/ProjekteResource.php index c60d68f..01608a8 100644 --- a/app/Filament/Resources/Projektes/ProjekteResource.php +++ b/app/Filament/Resources/Projektes/ProjekteResource.php @@ -48,9 +48,9 @@ class ProjekteResource extends Resource { return [ ProjektAllgemeinflaechensRelationManager::class, + ProjektOrientierungZuAbschlaegesRelationManager::class, ProjektRaeumeallesRelationManager::class, ProjektMethodesRelationManager::class, - ProjektOrientierungZuAbschlaegesRelationManager::class, ProjektInhaltsverzeichnisRelationManager::class, ProjektPlatzhalterRelationManager::class, ]; diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php index 5885901..89ad8c3 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php @@ -2,13 +2,11 @@ namespace App\Filament\Resources\Projektes\RelationManagers; -use App\Filament\Imports\ProjektAllgemeinflaechenImporter; use Filament\Actions\BulkActionGroup; use Filament\Actions\CreateAction; use Filament\Actions\DeleteAction; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; -use Filament\Actions\ImportAction; use Filament\Forms\Components\TextInput; use Filament\Resources\RelationManagers\RelationManager; use Filament\Schemas\Schema; @@ -17,7 +15,6 @@ use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextInputColumn; use Filament\Tables\Table; use Illuminate\Support\HtmlString; -use Illuminate\Validation\Rules\File; use Livewire\Component; class ProjektAllgemeinflaechensRelationManager extends RelationManager @@ -87,19 +84,6 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager CreateAction::make() ->icon('phosphor-file-plus') ->createAnother(false), - ImportAction::make() - ->importer(ProjektAllgemeinflaechenImporter::class) - ->modalHeading('Allgemeinflächen Import') - // ->modalSubmitActionLabel('Yes, delete it') - ->label('Hochladen') - ->icon('phosphor-upload') - ->color('info') - ->options([ - 'projekte_id' => $this->getOwnerRecord()->id, - ]) - ->fileRules([ - File::types(['csv', 'txt'])->max(1024), - ]), ]) ->recordActions([ EditAction::make()->iconButton() diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektOrientierungZuAbschlaegesRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektOrientierungZuAbschlaegesRelationManager.php index 7d7bd3d..f52a72d 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektOrientierungZuAbschlaegesRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektOrientierungZuAbschlaegesRelationManager.php @@ -29,13 +29,13 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager { protected static string $relationship = 'projekt_orientierung_zu_abschlaeges'; - protected static ?string $title = 'Orientierung Zu/Abschläge'; + protected static ?string $title = 'Objekte'; - protected static ?string $navigationLabel = 'Orientierung Zu/Abschläge'; + protected static ?string $navigationLabel = 'Objekte'; - protected static ?string $modelLabel = 'Orientierung Zu/Abschläge'; + protected static ?string $modelLabel = 'Objekte'; - protected static ?string $pluralModelLabel = 'Orientierung Zu/Abschläge'; + protected static ?string $pluralModelLabel = 'Objekte'; public function table(Table $table): Table { @@ -45,7 +45,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager return $table // ->striped() ->recordTitleAttribute('top_nummer') - ->description('Objekte "NiO" (Nicht in Orientierung) sind auch ohne "Type"') + ->description('Orientierungen, Zu- und Abschläge') ->columns([ TextColumn::make('top_nummer') ->alignCenter() @@ -232,7 +232,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager Action::make('erstellen') ->action(fn (CreateProjektOrientierungZuAbschlaege $createProjektOrientierungZuAbschlaege) => $createProjektOrientierungZuAbschlaege->create($this->ownerRecord)) ->requiresConfirmation() - ->modalHeading('Orientierung Zu/Abschläge erstellen') + ->modalHeading('Objekte erstellen') ->modalDescription('Alle bestehenden Daten in dieser Tabelle werden vorher gelöscht.') ->modalSubmitActionLabel('Generieren') ->label('Generieren') diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektRaeumeallesRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektRaeumeallesRelationManager.php index a971f7b..7946b58 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektRaeumeallesRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektRaeumeallesRelationManager.php @@ -2,7 +2,6 @@ namespace App\Filament\Resources\Projektes\RelationManagers; -use App\Filament\Imports\ProjektRaeumealleImporter; use App\Models\ProjektRaeumealle; use Filament\Actions\BulkAction; use Filament\Actions\BulkActionGroup; @@ -10,7 +9,6 @@ use Filament\Actions\CreateAction; use Filament\Actions\DeleteAction; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; -use Filament\Actions\ImportAction; use Filament\Forms\Components\TextInput; use Filament\Resources\RelationManagers\RelationManager; use Filament\Schemas\Schema; @@ -22,20 +20,19 @@ use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\HtmlString; -use Illuminate\Validation\Rules\File; use Livewire\Component; class ProjektRaeumeallesRelationManager extends RelationManager { protected static string $relationship = 'projekt_raeumealles'; - protected static ?string $title = 'Räume Alle'; + protected static ?string $title = 'Objekte im Detail'; - protected static ?string $navigationLabel = 'Räume'; + protected static ?string $navigationLabel = 'Objekte im Detail'; - protected static ?string $modelLabel = 'Raum'; + protected static ?string $modelLabel = 'Objekt im Detail'; - protected static ?string $pluralModelLabel = 'Räume'; + protected static ?string $pluralModelLabel = 'Objekte'; public function form(Schema $schema): Schema { @@ -140,17 +137,6 @@ class ProjektRaeumeallesRelationManager extends RelationManager CreateAction::make() ->icon('phosphor-file-plus') ->createAnother(false), - ImportAction::make() - ->importer(ProjektRaeumealleImporter::class) - ->label('Hochladen') - ->icon('phosphor-upload') - ->color('info') - ->options([ - 'projekte_id' => $this->getOwnerRecord()->id, - ]) - ->fileRules([ - File::types(['csv', 'txt'])->max(1024), - ]), ]) ->recordActions([ EditAction::make()->iconButton() diff --git a/bootstrap/cache/filament/panels/admin.php b/bootstrap/cache/filament/panels/admin.php index 8a88e69..958010c 100644 --- a/bootstrap/cache/filament/panels/admin.php +++ b/bootstrap/cache/filament/panels/admin.php @@ -31,12 +31,12 @@ 'app.filament.resources.projektes.pages.create-projekte' => 'App\\Filament\\Resources\\Projektes\\Pages\\CreateProjekte', 'app.filament.resources.projektes.pages.edit-projekte' => 'App\\Filament\\Resources\\Projektes\\Pages\\EditProjekte', 'app.filament.resources.projektes.pages.list-projektes' => 'App\\Filament\\Resources\\Projektes\\Pages\\ListProjektes', - 'app.filament.resources.projektes.relation-managers.projekt_allgemeinflaechens-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektAllgemeinflaechensRelationManager', - 'app.filament.resources.projektes.relation-managers.orientierung-zu-abschlaeges-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektOrientierungZuAbschlaegesRelationManager', + 'app.filament.resources.projektes.relation-managers.projekt-allgemeinflaechens-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektAllgemeinflaechensRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-inhaltsverzeichnis-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektInhaltsverzeichnisRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-methodes-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektMethodesRelationManager', + 'app.filament.resources.projektes.relation-managers.projekt-orientierung-zu-abschlaeges-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektOrientierungZuAbschlaegesRelationManager', 'app.filament.resources.projektes.relation-managers.projekt-platzhalter-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektPlatzhalterRelationManager', - 'app.filament.resources.projektes.relation-managers.projekt_raeumealles-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektRaeumeallesRelationManager', + 'app.filament.resources.projektes.relation-managers.projekt-raeumealles-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektRaeumeallesRelationManager', '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.textblocks.pages.create-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\CreateTextblock', diff --git a/bootstrap/cache/routes-v7.php b/bootstrap/cache/routes-v7.php index 8a9a792..4039ba5 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::clhaDoiDKLJvf5Gi', + '_route' => 'generated::JtXPkv9isnxk66T5', ), 1 => NULL, 2 => @@ -551,7 +551,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::ZGpMPFzgxi2WRGCr', + '_route' => 'generated::REQpF14MDLHlxfDK', ), 1 => NULL, 2 => @@ -609,7 +609,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::btEHtCpB5sHWzOFW', + '_route' => 'generated::aXm8FcI60r7mkR8w', ), 1 => NULL, 2 => @@ -629,7 +629,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::lhAkX1LiyEwVSYJW', + '_route' => 'generated::XWKyeah1k2fsblk2', ), 1 => NULL, 2 => @@ -649,7 +649,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::RYmRH33AJVDBtXf7', + '_route' => 'generated::XL58ahMBEFibN9Cr', ), 1 => NULL, 2 => @@ -669,7 +669,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::nJyF8583dTyGRWJ1', + '_route' => 'generated::66LBKxVXI0v2Ali3', ), 1 => NULL, 2 => @@ -689,7 +689,7 @@ app('router')->setCompiledRoutes( array ( 0 => array ( - '_route' => 'generated::0PfkQFPnQ74LZ6SZ', + '_route' => 'generated::UYj28EVSNqmzXXSx', ), 1 => NULL, 2 => @@ -2740,7 +2740,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::clhaDoiDKLJvf5Gi' => + 'generated::JtXPkv9isnxk66T5' => 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::clhaDoiDKLJvf5Gi', + 'as' => 'generated::JtXPkv9isnxk66T5', ), 'fallback' => false, 'defaults' => @@ -2768,7 +2768,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::ZGpMPFzgxi2WRGCr' => + 'generated::REQpF14MDLHlxfDK' => 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::ZGpMPFzgxi2WRGCr', + 'as' => 'generated::REQpF14MDLHlxfDK', ), 'fallback' => false, 'defaults' => @@ -2882,7 +2882,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::btEHtCpB5sHWzOFW' => + 'generated::aXm8FcI60r7mkR8w' => 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::btEHtCpB5sHWzOFW', + 'as' => 'generated::aXm8FcI60r7mkR8w', ), 'fallback' => false, 'defaults' => @@ -2927,7 +2927,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::lhAkX1LiyEwVSYJW' => + 'generated::XWKyeah1k2fsblk2' => array ( 'methods' => array ( @@ -2949,7 +2949,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::lhAkX1LiyEwVSYJW', + 'as' => 'generated::XWKyeah1k2fsblk2', ), 'fallback' => false, 'defaults' => @@ -2965,7 +2965,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::RYmRH33AJVDBtXf7' => + 'generated::XL58ahMBEFibN9Cr' => array ( 'methods' => array ( @@ -2987,7 +2987,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::RYmRH33AJVDBtXf7', + 'as' => 'generated::XL58ahMBEFibN9Cr', ), 'fallback' => false, 'defaults' => @@ -3003,7 +3003,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::nJyF8583dTyGRWJ1' => + 'generated::66LBKxVXI0v2Ali3' => array ( 'methods' => array ( @@ -3025,7 +3025,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::nJyF8583dTyGRWJ1', + 'as' => 'generated::66LBKxVXI0v2Ali3', ), 'fallback' => false, 'defaults' => @@ -3041,7 +3041,7 @@ app('router')->setCompiledRoutes( 'waitSeconds' => NULL, 'withTrashed' => false, ), - 'generated::0PfkQFPnQ74LZ6SZ' => + 'generated::UYj28EVSNqmzXXSx' => array ( 'methods' => array ( @@ -3063,7 +3063,7 @@ app('router')->setCompiledRoutes( 'where' => array ( ), - 'as' => 'generated::0PfkQFPnQ74LZ6SZ', + 'as' => 'generated::UYj28EVSNqmzXXSx', ), 'fallback' => false, 'defaults' => diff --git a/database/migrations/2025_10_03_154047_create_raeumealles_table.php b/database/migrations/2025_10_03_154047_create_raeumealles_table.php index 8f858af..e8ebe50 100644 --- a/database/migrations/2025_10_03_154047_create_raeumealles_table.php +++ b/database/migrations/2025_10_03_154047_create_raeumealles_table.php @@ -14,7 +14,7 @@ return new class extends Migration Schema::create('projekt_raeumealles', function (Blueprint $table) { $table->id(); $table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); - $table->integer('projekt_orientierung_zu_abschlaege_id')->default(0)->nullable(); + $table->integer('projekt_orientierung_zu_abschlaege_id')->constrained()->cascadeOnDelete(); $table->string('top_nummer')->nullable(); $table->string('geschoss')->nullable(); $table->string('raumart')->nullable(); diff --git a/resources/views/filament/pages/actions/footer-allgemeinflaechen.blade.php b/resources/views/filament/pages/actions/footer-allgemeinflaechen.blade.php new file mode 100644 index 0000000..23dbea0 --- /dev/null +++ b/resources/views/filament/pages/actions/footer-allgemeinflaechen.blade.php @@ -0,0 +1,4 @@ +