rename ProjektRaeumealle ro ProjektObjekte und ProjektObjekteImDetail

This commit is contained in:
salam committed 2025-10-26 09:14:01 +01:00
1 parent 7746b426b3
commit 967d6e5157
30 files changed
+342 -292

No files matched your search

+3 -3
View File
@@ -17,12 +17,12 @@ a make:model ZuAbschlaege -m
a make:filament-resource ProjekteImport --nested a make:filament-resource ProjekteImport --nested
a make:filament-relation-manager ProjekteResource ProjekteImports name a make:filament-relation-manager ProjekteResource ProjekteImports name
a make:filament-relation-manager ProjektRaeumealleResource ProjektRaeumealles geschoss a make:filament-relation-manager ProjektObjekteImDetailResource ProjektObjekteImDetails geschoss
a make:model ProjektAllgemeinflaechen -ms a make:model ProjektAllgemeinflaechen -ms
a make:model ProjektRaeumealle -ms a make:model ProjektObjekteImDetail -ms
php artisan make:filament-importer ProjektRaeumealle php artisan make:filament-importer ProjektObjekteImDetail
A make:filament-resource ProjektAllgemeinflaechen --nested A make:filament-resource ProjektAllgemeinflaechen --nested
@@ -2,28 +2,28 @@
namespace App\Actions\Create; namespace App\Actions\Create;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use App\Models\ProjektRaeumealle; use App\Models\ProjektObjekteImDetail;
class CreateProjektOrientierungZuAbschlaege class CreateProjektObjekte
{ {
public function create($record) public function create($record)
{ {
ProjektOrientierungZuAbschlaege::where('projekte_id', $record->id)->delete(); ProjektObjekte::where('projekte_id', $record->id)->delete();
$projekt_raeumealles = ProjektRaeumealle::select('top_nummer', 'geschoss')->where('projekte_id', $record->id)->get(); $projekt_raeumealles = ProjektObjekteImDetail::select('top_nummer', 'geschoss')->where('projekte_id', $record->id)->get();
$arr = []; $arr = [];
foreach ($projekt_raeumealles as $raeumealle) { foreach ($projekt_raeumealles as $raeumealle) {
if (! in_array($raeumealle->top_nummer, $arr)) { if (! in_array($raeumealle->top_nummer, $arr)) {
$orientierung = new ProjektOrientierungZuAbschlaege; $orientierung = new ProjektObjekte;
$orientierung->projekte_id = $record->id; $orientierung->projekte_id = $record->id;
$orientierung->top_nummer = $raeumealle->top_nummer; $orientierung->top_nummer = $raeumealle->top_nummer;
$orientierung->geschoss = $raeumealle->geschoss ?? ''; $orientierung->geschoss = $raeumealle->geschoss ?? '';
$orientierung->save(); $orientierung->save();
ProjektRaeumealle::where('projekte_id', $record->id)->where('top_nummer', $raeumealle->top_nummer)->update(['projekt_orientierung_zu_abschlaege_id' => $orientierung->id]); ProjektObjekteImDetail::where('projekte_id', $record->id)->where('top_nummer', $raeumealle->top_nummer)->update(['projekt_objekte_id' => $orientierung->id]);
$arr[] = $raeumealle->top_nummer; $arr[] = $raeumealle->top_nummer;
} }
+2 -2
View File
@@ -3,14 +3,14 @@
namespace App\Actions\Create; namespace App\Actions\Create;
use App\Models\ProjektMethode; use App\Models\ProjektMethode;
use App\Models\ProjektRaeumealle; use App\Models\ProjektObjekteImDetail;
class CreateProjektMethoden class CreateProjektMethoden
{ {
public function create($record) public function create($record)
{ {
ProjektMethode::where('projekte_id', $record->id)->delete(); ProjektMethode::where('projekte_id', $record->id)->delete();
$projekt_raeumealles = ProjektRaeumealle::where('projekte_id', $record->id)->get(); $projekt_raeumealles = ProjektObjekteImDetail::where('projekte_id', $record->id)->get();
foreach ($projekt_raeumealles as $raeumealle) { foreach ($projekt_raeumealles as $raeumealle) {
ProjektMethode::firstOrCreate([ ProjektMethode::firstOrCreate([
'projekte_id' => $record->id, 'projekte_id' => $record->id,
@@ -3,14 +3,14 @@
namespace App\Actions\Generate\Gutachten; namespace App\Actions\Generate\Gutachten;
use App\Actions\Generate\Utilities\Html; use App\Actions\Generate\Utilities\Html;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
class Paragraph6Tabelle class Paragraph6Tabelle
{ {
public static function load($projekte_id) public static function load($projekte_id)
{ {
$data = ProjektOrientierungZuAbschlaege::with('orientierung') $data = ProjektObjekte::with('orientierung')
->where('projekte_id', $projekte_id) ->where('projekte_id', $projekte_id)
->orderBy('nicht_in_orientierung') ->orderBy('nicht_in_orientierung')
->orderBy('top_nummer') ->orderBy('top_nummer')
@@ -3,7 +3,7 @@
namespace App\Actions\Generate\Nutzwerte; namespace App\Actions\Generate\Nutzwerte;
use App\Models\Merkmale; use App\Models\Merkmale;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use App\Models\Raumalles; use App\Models\Raumalles;
use App\Models\Raumorientierung; use App\Models\Raumorientierung;
use App\Utilities\Format; use App\Utilities\Format;
@@ -14,7 +14,7 @@ class ZuUndAbschlaege
public static function load(int $projekte_id) public static function load(int $projekte_id)
{ {
$orientierungen = ProjektOrientierungZuAbschlaege::select() $orientierungen = ProjektObjekte::select()
->with('orientierung') ->with('orientierung')
->where('projekte_id', $projekte_id) ->where('projekte_id', $projekte_id)
->where('nicht_in_orientierung', 0) ->where('nicht_in_orientierung', 0)
+91 -87
View File
@@ -6,9 +6,9 @@ use App\Models\ProjektAllgemeinflaechen;
use App\Models\Projekte; use App\Models\Projekte;
use App\Models\ProjektInhaltsverzeichnis; use App\Models\ProjektInhaltsverzeichnis;
use App\Models\ProjektMethode; use App\Models\ProjektMethode;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use App\Models\ProjektObjekteImDetail;
use App\Models\ProjektPlatzhalter; use App\Models\ProjektPlatzhalter;
use App\Models\ProjektRaeumealle;
use Filament\Notifications\Notification; use Filament\Notifications\Notification;
class GutachtenValidation class GutachtenValidation
@@ -21,7 +21,7 @@ class GutachtenValidation
$res = ProjektAllgemeinflaechen::where('projekte_id', $record->id)->get(); $res = ProjektAllgemeinflaechen::where('projekte_id', $record->id)->get();
if (! $res->count()) { if (! $res->count()) {
Notification::make() Notification::make()
->title('Allgemeinflächen') ->title('Tabelle Allgemeinflächen')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -33,7 +33,7 @@ class GutachtenValidation
foreach ($res as $value) { foreach ($res as $value) {
if (! $value->geschoss) { if (! $value->geschoss) {
Notification::make() Notification::make()
->title('Allgemeinflächen') ->title('Tabelle Allgemeinflächen')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -44,7 +44,7 @@ class GutachtenValidation
} }
if (! $value->raumart) { if (! $value->raumart) {
Notification::make() Notification::make()
->title('Allgemeinflächen') ->title('Tabelle Allgemeinflächen')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -55,7 +55,7 @@ class GutachtenValidation
} }
if ($value->flaeche == 0) { if ($value->flaeche == 0) {
Notification::make() Notification::make()
->title('Allgemeinflächen') ->title('Tabelle Allgemeinflächen')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -67,58 +67,113 @@ class GutachtenValidation
} }
/** /**
* ProjektRaeumealle * ProjektObjekte + nicht_in_orientierung
*/ */
$res = ProjektRaeumealle::where('projekte_id', $record->id)->get(); $res = ProjektObjekte::where('projekte_id', $record->id)->get();
if (! $res->count()) { if (! $res->count()) {
Notification::make() Notification::make()
->title('Räume Alle') ->title('Tabelle Objekte')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
->body('Die Tabelle <b>Räume Alle</b> ist leer.') ->body('Die Tabelle <b>Objekte</b> ist leer.')
->send();
return false;
}
$res = ProjektObjekte::where('projekte_id', $record->id)->where('nicht_in_orientierung', false)->get();
foreach ($res as $value) {
if (! $value->orientierung_id && ! $value->nicht_in_orientierung) {
Notification::make()
->title('Tabelle Objekte')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Bei der Top Nummer <b>'.$value->top_nummer.'</b> fehlt die <u>Orientierung</u>.')
->send();
return false;
}
if (! $value->orientierung_id && ! $value->type) {
Notification::make()
->title('Tabelle Objekte')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Bei der Top Nummer <b>'.$value->top_nummer.'</b> fehlt der <u>Type</u>.')
->send();
return false;
}
}
/**
* ProjektObjekte & ProjektObjekteImDetail
*/
$res = ProjektObjekte::with('ProjektObjekteImDetail')->where('projekte_id', $record->id)->get();
if (! $res->count()) {
Notification::make()
->title('Tabelle Objekte im Detail')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Die Tabelle <b>Objekte im Detail</b> ist leer.')
->send(); ->send();
return false; return false;
} }
foreach ($res as $value) { foreach ($res as $value) {
$raeume = $value->ProjektObjekteImDetail->toArray();
$raeume = $raeume[0] ?? [];
if (! count($raeume)) {
Notification::make()
->title('Tabelle Objekte')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Der Top Nummer <b>'.$value->top_nummer.'</b> sind keine Räume zugeordnet.')
->send();
return false;
}
if (! $value->top_nummer) { if (! $value->top_nummer) {
Notification::make() Notification::make()
->title('Räume Alle') ->title('Tabelle Objekte')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
->body('Für den Raum <b>'.$value->raumart.'</b> im Geschoss <b>'.$value->geschoss.'</b> fehlt die Angabe der <u>Top Nummer</u>.') ->body('Für den Raum mit der ID <b>'.$value->id.'</b> fehlt die Angabe der <u>Top Nummer</u>.')
->send(); ->send();
return false; return false;
} }
if (! $value->geschoss) { if (! $raeume['geschoss']) {
Notification::make() Notification::make()
->title('Räume Alle') ->title('Tabelle Objekte im Detail')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
->body('Für den Raum <b>'.$value->raumart.'</b> mit der Top Nummer <b>'.$value->top_nummer.'</b> fehlt die Angabe der <u>Geschoßes</u>.') ->body('Beim Objekt Top Nummer <b>'.$value->top_nummer.'</b> fehlt die Angabe des <u>Geschoßes</u>.')
->send(); ->send();
return false; return false;
} }
if (! $value->raumart) { if (! $raeume['raumart']) {
Notification::make() Notification::make()
->title('Räume Alle') ->title('Tabelle Objekte im Detail')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
->body('Für den Raum mit der Top Nummer <b>'.$value->top_nummer.'</b> im Geschoßes <b>'.$value->geschoss.'</b> fehlt die Angabe der <u>Raumart</u>.') ->body('Beim Objekt Top Nummer <b>'.$value->top_nummer.'</b> fehlt die Angabe der <u>Raumart</u>.')
->send(); ->send();
return false; return false;
} }
if ($value->flaeche == 0) { if (! $raeume['flaeche']) {
Notification::make() Notification::make()
->title('Räume Alle') ->title('Tabelle Objekte im Detail')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -127,17 +182,6 @@ class GutachtenValidation
return false; return false;
} }
if ($value->faktor == 0) {
Notification::make()
->title('Räume Alle')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Für die Raumart <b>'.$value->raumart.'</b> mit der Top Nummer <b>'.$value->top_nummer.'</b> im Geschoss <b>'.$value->geschoss.'</b> fehlt die Angabe des <u>Faktors</u>.')
->send();
return false;
}
} }
/** /**
@@ -146,7 +190,7 @@ class GutachtenValidation
$res = ProjektMethode::where('projekte_id', $record->id)->get(); $res = ProjektMethode::where('projekte_id', $record->id)->get();
if (! $res->count()) { if (! $res->count()) {
Notification::make() Notification::make()
->title('Räume Methoden') ->title('Tabelle Räume Methoden')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -158,7 +202,7 @@ class GutachtenValidation
foreach ($res as $value) { foreach ($res as $value) {
if (! $value->methode_id) { if (! $value->methode_id) {
Notification::make() Notification::make()
->title('Räume Methoden') ->title('Tabelle Räume Methoden')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -167,58 +211,18 @@ class GutachtenValidation
return false; return false;
} }
if ($value->faktor == 0) { // KANN 0 SEIN
Notification::make() // if ($value->faktor == 0) {
->title('Räume Methoden') // Notification::make()
->info() // ->title('Tabelle Räume Methoden')
->icon('heroicon-o-exclamation-triangle') // ->info()
->duration(10000) // ->icon('heroicon-o-exclamation-triangle')
->body('Für den Raum <b>'.$value->raumart.'</b> fehlt die Angabe des <u>Faktors</u>.') // ->duration(10000)
->send(); // ->body('Für den Raum <b>'.$value->raumart.'</b> fehlt die Angabe des <u>Faktors</u>.')
// ->send();
return false; // return false;
} // }
}
/**
* Orientierung Zu und Abschläge
*/
$res = ProjektOrientierungZuAbschlaege::where('projekte_id', $record->id)->get();
if (! $res->count()) {
Notification::make()
->title('Orientierung Zu und Abschläge')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Die Tabelle <b>Orientierung Zu und Abschläge</b> ist leer.')
->send();
return false;
}
$res = ProjektOrientierungZuAbschlaege::where('projekte_id', $record->id)->where('nicht_in_orientierung', false)->get();
foreach ($res as $value) {
if (! $value->orientierung_id && ! $value->nicht_in_orientierung) {
Notification::make()
->title('Orientierung Zu und Abschläge')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Bei der Top Nummer <b>'.$value->top_nummer.'</b> fehlt die <u>Orientierung</u>.')
->send();
return false;
}
if (! $value->orientierung_id && ! $value->type) {
Notification::make()
->title('Orientierung Zu und Abschläge')
->info()
->icon('heroicon-o-exclamation-triangle')
->duration(10000)
->body('Bei der Top Nummer <b>'.$value->top_nummer.'</b> fehlt der <u>Type</u>.')
->send();
return false;
}
} }
/** /**
@@ -227,7 +231,7 @@ class GutachtenValidation
$res = ProjektInhaltsverzeichnis::where('projekte_id', $record->id)->get(); $res = ProjektInhaltsverzeichnis::where('projekte_id', $record->id)->get();
if (! $res->count()) { if (! $res->count()) {
Notification::make() Notification::make()
->title('Inhaltsverzeichnis') ->title('Tabelle Inhaltsverzeichnis')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->body('Inhaltsverzeichnis fehlt!') ->body('Inhaltsverzeichnis fehlt!')
@@ -243,7 +247,7 @@ class GutachtenValidation
$res = ProjektPlatzhalter::where('projekte_id', $record->id)->whereNull('platzhaltertext')->orWhere('platzhaltertext', '=', '')->get(); $res = ProjektPlatzhalter::where('projekte_id', $record->id)->whereNull('platzhaltertext')->orWhere('platzhaltertext', '=', '')->get();
if ($res->count()) { if ($res->count()) {
Notification::make() Notification::make()
->title('Platzhalter') ->title('Tabelle Platzhalter')
->info() ->info()
->icon('heroicon-o-exclamation-triangle') ->icon('heroicon-o-exclamation-triangle')
->duration(10000) ->duration(10000)
@@ -254,7 +258,7 @@ class GutachtenValidation
} }
Notification::make() Notification::make()
->title('Evaluation') ->title('Evaluierung')
->success() ->success()
->duration(10000) ->duration(10000)
->body('Die Evaluierung des Projektes war erfolgreich.') ->body('Die Evaluierung des Projektes war erfolgreich.')
@@ -2,51 +2,47 @@
namespace App\Filament\Imports; namespace App\Filament\Imports;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use App\Models\ProjektRaeumealle; use App\Models\ProjektObjekteImDetail;
use Filament\Actions\Imports\ImportColumn; use Filament\Actions\Imports\ImportColumn;
use Filament\Actions\Imports\Importer; use Filament\Actions\Imports\Importer;
use Filament\Actions\Imports\Models\Import; use Filament\Actions\Imports\Models\Import;
use Illuminate\Support\Number; use Illuminate\Support\Number;
class ProjektRaeumealleImporter extends Importer class ProjektObjekteImDetailImporter extends Importer
{ {
protected static ?string $model = ProjektRaeumealle::class; protected static ?string $model = ProjektObjekteImDetail::class;
protected function beforeValidate(): void public static $projekte_id;
public function resolveRecord(): ProjektObjekteImDetail
{ {
dd($this->data); self::$projekte_id = $this->options['projekte_id'];
$res = ProjektOrientierungZuAbschlaege::firstOrCreate([ $res = new ProjektObjekteImDetail;
'projekte_id' => $this->options['projekte_id'], $res->projekte_id = self::$projekte_id;
'top_nummer' => trim($this->data['top_nummer']),
]);
dd($res); return $res;
$this->data['orientierung_zu_abschlaege_id'] = $res->id;
}
public function resolveRecord(): ProjektRaeumealle
{
return ProjektRaeumealle::firstOrNew([
'projekt_orientierung_zu_abschlaege_id' => $this->data['orientierung_zu_abschlaege_id'],
'projekte_id' => $this->options['projekte_id'],
]);
} }
public static function getColumns(): array public static function getColumns(): array
{ {
return [ return [
// ImportColumn::make('top_nummer')
// ->relationship('orientierung_zu_abschlaege'),
ImportColumn::make('top_nummer') ImportColumn::make('top_nummer')
->label('Top Nummer') ->label('Top Nummer')
->validationAttribute('Top Nummer') ->validationAttribute('Top Nummer')
->requiredMapping() ->requiredMapping()
->example('EG') ->example('EG')
->rules(['required', 'max:255']) ->rules(['required', 'max:255'])
->relationship(resolveUsing: function (string $state, $data): ?ProjektObjekte {
return ProjektObjekte::query()
->where('projekte_id', self::$projekte_id)
->Where('top_nummer', $state)
->firstOrCreate([
'projekte_id' => self::$projekte_id,
'top_nummer' => $state,
]);
})
->castStateUsing(function (string $state) { ->castStateUsing(function (string $state) {
$state = trim($state); $state = trim($state);
@@ -93,10 +89,10 @@ class ProjektRaeumealleImporter extends Importer
public static function getCompletedNotificationBody(Import $import): string public static function getCompletedNotificationBody(Import $import): string
{ {
$body = ' Der Import der Räume ist abgeschlossen. Es wurden '.Number::format($import->successful_rows).' '.str('row')->plural($import->successful_rows).' importiert.'; $body = ' Der Import der Objekte ist abgeschlossen. Es wurden '.Number::format($import->successful_rows).' '.str('row')->plural($import->successful_rows).' importiert.';
if ($failedRowsCount = $import->getFailedRowsCount()) { if ($failedRowsCount = $import->getFailedRowsCount()) {
$body .= ' Bei '.Number::format($failedRowsCount).' '.str('row')->plural($failedRowsCount).' ist der Import fehlgeschlagen.'; $body .= ' Bei '.Number::format($failedRowsCount).' '.@lang('Reihe|Reihen', $failedRowsCount).' ist der Import fehlgeschlagen.';
} }
return $body; return $body;
@@ -4,13 +4,13 @@ namespace App\Filament\Resources\Projektes\Pages;
use App\Actions\Validation\GutachtenValidation; use App\Actions\Validation\GutachtenValidation;
use App\Filament\Imports\ProjektAllgemeinflaechenImporter; use App\Filament\Imports\ProjektAllgemeinflaechenImporter;
use App\Filament\Imports\ProjektRaeumealleImporter; use App\Filament\Imports\ProjektObjekteImDetailImporter;
use App\Filament\Resources\Projektes\ProjekteResource; use App\Filament\Resources\Projektes\ProjekteResource;
use App\Models\Konto; use App\Models\Konto;
use App\Models\ProjektAllgemeinflaechen; use App\Models\ProjektAllgemeinflaechen;
use App\Models\Projekte; use App\Models\Projekte;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use App\Models\ProjektRaeumealle; use App\Models\ProjektObjekteImDetail;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\ActionGroup; use Filament\Actions\ActionGroup;
use Filament\Actions\DeleteAction; use Filament\Actions\DeleteAction;
@@ -24,7 +24,7 @@ class EditProjekte extends EditRecord
{ {
protected static string $resource = ProjekteResource::class; protected static string $resource = ProjekteResource::class;
#[On('refreshProjektAllgemeinflaechen'), On('refreshProjektRaeumealle'), On('refreshMethods'), On('refreshOrientierung')] #[On('refreshProjektAllgemeinflaechen'), On('refreshProjektObjekteImDetail'), On('refreshMethods'), On('refreshOrientierung')]
public function refresh(): void {} public function refresh(): void {}
protected function getHeaderActions(): array protected function getHeaderActions(): array
@@ -34,7 +34,7 @@ class EditProjekte extends EditRecord
* IMPORT * IMPORT
*/ */
ActionGroup::make([ ActionGroup::make([
ImportAction::make('allgemeinflaechen') ImportAction::make('importallgemeinflaechen')
->hidden(fn ($record): bool => $record->bezahlt_am ? false : true) ->hidden(fn ($record): bool => $record->bezahlt_am ? false : true)
->importer(ProjektAllgemeinflaechenImporter::class) ->importer(ProjektAllgemeinflaechenImporter::class)
->modalHeading('Allgemeinflächen Import') ->modalHeading('Allgemeinflächen Import')
@@ -64,9 +64,9 @@ class EditProjekte extends EditRecord
->fileRules([ ->fileRules([
File::types(['csv', 'txt'])->max(1024), File::types(['csv', 'txt'])->max(1024),
]), ]),
ImportAction::make() ImportAction::make('import_objekte')
->hidden(fn ($record): bool => $record->bezahlt_am ? false : true) ->hidden(fn ($record): bool => $record->bezahlt_am ? false : true)
->importer(ProjektRaeumealleImporter::class) ->importer(ProjektObjekteImDetailImporter::class)
->modalHeading('Objekte im Detail Import') ->modalHeading('Objekte im Detail Import')
->modalContent(view('filament.pages.actions.import-objektemitraeumen')) ->modalContent(view('filament.pages.actions.import-objektemitraeumen'))
->modalContentFooter(view('filament.pages.actions.footer-objektemitraeumen')) ->modalContentFooter(view('filament.pages.actions.footer-objektemitraeumen'))
@@ -78,8 +78,8 @@ class EditProjekte extends EditRecord
->color('danger') ->color('danger')
->requiresConfirmation() ->requiresConfirmation()
->action(function ($record) { ->action(function ($record) {
ProjektRaeumealle::where('projekte_id', $record->id)->delete(); ProjektObjekteImDetail::where('projekte_id', $record->id)->delete();
ProjektOrientierungZuAbschlaege::where('projekte_id', $record->id)->delete(); ProjektObjekte::where('projekte_id', $record->id)->delete();
$this->record->refresh(); $this->record->refresh();
@@ -216,7 +216,8 @@ class EditProjekte extends EditRecord
->icon('phosphor-download') ->icon('phosphor-download')
->color('info') ->color('info')
->button(), ->button(),
DeleteAction::make()->icon('heroicon-o-trash'), DeleteAction::make()->icon('heroicon-o-trash')
->modalDescription('Möchten Sie dieses Projekt wirklich löschen? Die Daten werden unwiderbringlich gelöscht, dieser Vorgang kann nicht rückgängig gemacht werden.'),
]; ];
} }
@@ -7,9 +7,9 @@ use App\Filament\Resources\Projektes\Pages\ListProjektes;
use App\Filament\Resources\Projektes\RelationManagers\ProjektAllgemeinflaechensRelationManager; use App\Filament\Resources\Projektes\RelationManagers\ProjektAllgemeinflaechensRelationManager;
use App\Filament\Resources\Projektes\RelationManagers\ProjektInhaltsverzeichnisRelationManager; use App\Filament\Resources\Projektes\RelationManagers\ProjektInhaltsverzeichnisRelationManager;
use App\Filament\Resources\Projektes\RelationManagers\ProjektMethodesRelationManager; use App\Filament\Resources\Projektes\RelationManagers\ProjektMethodesRelationManager;
use App\Filament\Resources\Projektes\RelationManagers\ProjektOrientierungZuAbschlaegesRelationManager; use App\Filament\Resources\Projektes\RelationManagers\ProjektObjekteImDetailRelationManager;
use App\Filament\Resources\Projektes\RelationManagers\ProjektObjekteRelationManager;
use App\Filament\Resources\Projektes\RelationManagers\ProjektPlatzhalterRelationManager; use App\Filament\Resources\Projektes\RelationManagers\ProjektPlatzhalterRelationManager;
use App\Filament\Resources\Projektes\RelationManagers\ProjektRaeumeallesRelationManager;
use App\Filament\Resources\Projektes\Schemas\ProjekteForm; use App\Filament\Resources\Projektes\Schemas\ProjekteForm;
use App\Filament\Resources\Projektes\Tables\ProjektesTable; use App\Filament\Resources\Projektes\Tables\ProjektesTable;
use App\Models\Projekte; use App\Models\Projekte;
@@ -48,8 +48,8 @@ class ProjekteResource extends Resource
{ {
return [ return [
ProjektAllgemeinflaechensRelationManager::class, ProjektAllgemeinflaechensRelationManager::class,
ProjektOrientierungZuAbschlaegesRelationManager::class, ProjektObjekteRelationManager::class,
ProjektRaeumeallesRelationManager::class, ProjektObjekteImDetailRelationManager::class,
ProjektMethodesRelationManager::class, ProjektMethodesRelationManager::class,
ProjektInhaltsverzeichnisRelationManager::class, ProjektInhaltsverzeichnisRelationManager::class,
ProjektPlatzhalterRelationManager::class, ProjektPlatzhalterRelationManager::class,
@@ -54,12 +54,14 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager
public function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->emptyStateDescription('Schalten Sie das Projekt frei und importieren Sie die Daten der Allgemeinflächen.')
->striped() ->striped()
->recordTitleAttribute('geschoss') ->recordTitleAttribute('geschoss')
->columns([ ->columns([
TextColumn::make('geschoss')->searchable(), TextColumn::make('geschoss')->searchable(),
TextColumn::make('raumart')->searchable(), TextColumn::make('raumart')->searchable(),
TextInputColumn::make('flaeche') TextInputColumn::make('flaeche')
->extraInputAttributes(['onClick' => 'this.select()'])
->summarize(Sum::make()->label('Gesammt')->numeric( ->summarize(Sum::make()->label('Gesammt')->numeric(
decimalPlaces: 2, decimalPlaces: 2,
)->suffix(new HtmlString(' m&sup2;'))) )->suffix(new HtmlString(' m&sup2;')))
@@ -207,6 +207,8 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
public function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->emptyStateHeading('Kein Inhaltsverzeichnis')
->emptyStateDescription('Generiere ein Inhaltsverzeichnis um zu beginnen.')
->recordTitleAttribute('text') ->recordTitleAttribute('text')
// ->recordClasses(fn ($record) => $record->part == 'gutachten' ? 'border-l border-primary-500' : 'border-l border-success-500') // ->recordClasses(fn ($record) => $record->part == 'gutachten' ? 'border-l border-primary-500' : 'border-l border-success-500')
->columns([ ->columns([
@@ -52,6 +52,7 @@ class ProjektMethodesRelationManager extends RelationManager
TextColumn::make('raumart') TextColumn::make('raumart')
->searchable(), ->searchable(),
TextInputColumn::make('faktor') TextInputColumn::make('faktor')
->extraInputAttributes(['onClick' => 'this.select()'])
->suffixIcon('phosphor-function') ->suffixIcon('phosphor-function')
->width('1rem') ->width('1rem')
->rules(['required', 'faktor' => 'decimal:0,2']) ->rules(['required', 'faktor' => 'decimal:0,2'])
@@ -2,13 +2,14 @@
namespace App\Filament\Resources\Projektes\RelationManagers; namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Models\ProjektRaeumealle; use App\Models\ProjektObjekteImDetail;
use Filament\Actions\BulkAction; use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction; use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction; use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction; use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction; use Filament\Actions\EditAction;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema; use Filament\Schemas\Schema;
@@ -18,11 +19,12 @@ use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn; use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Filters\SelectFilter; use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table; use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Illuminate\Support\HtmlString; use Illuminate\Support\HtmlString;
use Livewire\Component; use Livewire\Component;
class ProjektRaeumeallesRelationManager extends RelationManager class ProjektObjekteImDetailRelationManager extends RelationManager
{ {
protected static string $relationship = 'projekt_raeumealles'; protected static string $relationship = 'projekt_raeumealles';
@@ -36,11 +38,13 @@ class ProjektRaeumeallesRelationManager extends RelationManager
public function form(Schema $schema): Schema public function form(Schema $schema): Schema
{ {
return $schema return $schema
->components([ ->components([
TextInput::make('top_nummer') Select::make('projekt_objekte_id')
->relationship('top_nummer', 'top_nummer', fn (Builder $query) => $query->where('projekte_id', $this->getOwnerRecord()->id))
->required() ->required()
->maxLength(255), ->searchable(),
TextInput::make('geschoss') TextInput::make('geschoss')
->required() ->required()
->maxLength(255), ->maxLength(255),
@@ -62,7 +66,7 @@ class ProjektRaeumeallesRelationManager extends RelationManager
->suffixIcon('phosphor-function') ->suffixIcon('phosphor-function')
->rules(['required', 'faktor' => 'decimal:0,2']) ->rules(['required', 'faktor' => 'decimal:0,2'])
->afterStateUpdated(function (Component $livewire) { ->afterStateUpdated(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
})->validationMessages([ })->validationMessages([
'required' => 'Die Eingabe eines Faktors ist erforderlich.', 'required' => 'Die Eingabe eines Faktors ist erforderlich.',
'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.', 'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
@@ -73,27 +77,30 @@ class ProjektRaeumeallesRelationManager extends RelationManager
public function table(Table $table): Table public function table(Table $table): Table
{ {
return $table return $table
->emptyStateDescription('Schalten Sie das Projekt frei und importieren Sie die Daten der Objekte.')
->striped() ->striped()
->recordTitleAttribute('top_nummer') ->recordTitleAttribute('top_nummer')
->columns([ ->columns([
TextColumn::make('top_nummer') TextColumn::make('top_nummer.top_nummer')
->extraAttributes(['pointer-events' => 'none']) ->extraAttributes(['pointer-events' => 'none'])
->searchable() ->searchable()
->label('Top'), ->label('Top'),
TextColumn::make('geschoss')->searchable(), TextColumn::make('geschoss')->searchable(),
TextColumn::make('raumart')->searchable(), TextColumn::make('raumart')->searchable(),
TextInputColumn::make('faktor') TextInputColumn::make('faktor')
->extraInputAttributes(['onClick' => 'this.select()'])
->suffixIcon('phosphor-function') ->suffixIcon('phosphor-function')
->width('1rem') ->width('1rem')
->rules(['required', 'faktor' => 'decimal:0,2']) ->rules(['required', 'faktor' => 'decimal:0,2'])
->searchable() ->searchable()
->afterStateUpdated(function (Component $livewire) { ->afterStateUpdated(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
})->validationMessages([ })->validationMessages([
'required' => 'Die Eingabe eines Faktors ist erforderlich.', 'required' => 'Die Eingabe eines Faktors ist erforderlich.',
'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.', 'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
]), ]),
TextInputColumn::make('flaeche') TextInputColumn::make('flaeche')
->extraInputAttributes(['onClick' => 'this.select()'])
->summarize(Sum::make()->label('Gesammt')->numeric( ->summarize(Sum::make()->label('Gesammt')->numeric(
decimalPlaces: 2, decimalPlaces: 2,
)->suffix(new HtmlString(' m&sup2;'))) )->suffix(new HtmlString(' m&sup2;')))
@@ -104,7 +111,7 @@ class ProjektRaeumeallesRelationManager extends RelationManager
->label('Fläche') ->label('Fläche')
->searchable() ->searchable()
->afterStateUpdated(function (Component $livewire) { ->afterStateUpdated(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
})->validationMessages([ })->validationMessages([
'required' => 'Die Eingabe einer Fläche ist erforderlich.', 'required' => 'Die Eingabe einer Fläche ist erforderlich.',
'decimal' => 'Für die Fläche sind zwei Dezimalstellen erforderlich.', 'decimal' => 'Für die Fläche sind zwei Dezimalstellen erforderlich.',
@@ -117,22 +124,19 @@ class ProjektRaeumeallesRelationManager extends RelationManager
->filters([ ->filters([
SelectFilter::make('top_nummer') SelectFilter::make('top_nummer')
->label('Top Nummer') ->label('Top Nummer')
->searchable() ->relationship('top_nummer', 'top_nummer', fn (Builder $query) => $query->where('projekte_id', $this->getOwnerRecord()->id))
->options(function (): array { ->searchable(),
return ProjektRaeumealle::where('projekte_id', $this->getOwnerRecord()->id)->groupBy('top_nummer')->orderBy('top_nummer')->pluck('top_nummer', 'top_nummer')->toArray();
}),
SelectFilter::make('geschoss') SelectFilter::make('geschoss')
->searchable() ->preload()
->options(function (): array { ->options(function (): array {
return ProjektRaeumealle::where('projekte_id', $this->getOwnerRecord()->id)->groupBy('geschoss')->orderBy('geschoss')->pluck('geschoss', 'geschoss')->toArray(); return ProjektObjekteImDetail::where('projekte_id', $this->getOwnerRecord()->id)->groupBy('geschoss')->orderBy('geschoss')->pluck('geschoss', 'geschoss')->toArray();
}), }),
SelectFilter::make('raumart') SelectFilter::make('raumart')
->searchable() ->searchable()
->options(function (): array { ->options(function (): array {
return ProjektRaeumealle::where('projekte_id', $this->getOwnerRecord()->id)->groupBy('raumart')->orderBy('raumart')->pluck('raumart', 'raumart')->toArray(); return ProjektObjekteImDetail::where('projekte_id', $this->getOwnerRecord()->id)->groupBy('raumart')->orderBy('raumart')->pluck('raumart', 'raumart')->toArray();
}), }),
]) ])
// ], layout: FiltersLayout::AboveContentCollapsible)
->headerActions([ ->headerActions([
CreateAction::make() CreateAction::make()
->icon('phosphor-file-plus') ->icon('phosphor-file-plus')
@@ -145,10 +149,10 @@ class ProjektRaeumeallesRelationManager extends RelationManager
return $data; return $data;
})->after(function (Component $livewire) { })->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
}), }),
DeleteAction::make()->iconButton()->after(function (Component $livewire) { DeleteAction::make()->iconButton()->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
}), }),
]) ])
->toolbarActions([ ->toolbarActions([
@@ -166,7 +170,7 @@ class ProjektRaeumeallesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = round($data['faktor'] * $record->flaeche); $nutzwert = round($data['faktor'] * $record->flaeche);
ProjektRaeumealle::where('id', '=', $record->id) ProjektObjekteImDetail::where('id', '=', $record->id)
->update( ->update(
[ [
'faktor' => $data['faktor'], 'faktor' => $data['faktor'],
@@ -175,10 +179,10 @@ class ProjektRaeumeallesRelationManager extends RelationManager
); );
} }
})->after(function (Component $livewire) { })->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
}), }),
DeleteBulkAction::make()->after(function (Component $livewire) { DeleteBulkAction::make()->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektRaeumealle'); $livewire->dispatch('refreshProjektObjekteImDetail');
}), }),
]), ]),
]); ]);
@@ -2,17 +2,21 @@
namespace App\Filament\Resources\Projektes\RelationManagers; namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Actions\Create\CreateProjektOrientierungZuAbschlaege; use App\Actions\Create\CreateProjektObjekte;
use App\Models\Merkmale; use App\Models\Merkmale;
use App\Models\Orientierung; use App\Models\Orientierung;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\BulkAction; use Filament\Actions\BulkAction;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Radio; use Filament\Forms\Components\Radio;
use Filament\Forms\Components\Select; use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput; use Filament\Forms\Components\TextInput;
use Filament\Resources\RelationManagers\RelationManager; use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
use Filament\Support\Enums\FontWeight; use Filament\Support\Enums\FontWeight;
use Filament\Support\Enums\Width; use Filament\Support\Enums\Width;
use Filament\Tables\Columns\CheckboxColumn; use Filament\Tables\Columns\CheckboxColumn;
@@ -25,7 +29,7 @@ use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Collection;
use Livewire\Component; use Livewire\Component;
class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager class ProjektObjekteRelationManager extends RelationManager
{ {
protected static string $relationship = 'projekt_orientierung_zu_abschlaeges'; protected static string $relationship = 'projekt_orientierung_zu_abschlaeges';
@@ -37,6 +41,16 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
protected static ?string $pluralModelLabel = 'Objekte'; protected static ?string $pluralModelLabel = 'Objekte';
public function form(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('top_nummer')
->required()
->maxLength(255),
]);
}
public function table(Table $table): Table public function table(Table $table): Table
{ {
@@ -44,6 +58,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
return $table return $table
// ->striped() // ->striped()
->emptyStateDescription('Schalten Sie das Projekt frei und importieren Sie die Daten der Objekte.')
->recordTitleAttribute('top_nummer') ->recordTitleAttribute('top_nummer')
->description('Orientierungen, Zu- und Abschläge') ->description('Orientierungen, Zu- und Abschläge')
->columns([ ->columns([
@@ -59,9 +74,6 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
'style' => 'position: sticky; left: 0; z-index: 1;', 'style' => 'position: sticky; left: 0; z-index: 1;',
'class' => 'bg-gray-50 dark:bg-gray-900', 'class' => 'bg-gray-50 dark:bg-gray-900',
]), ]),
TextInputColumn::make('geschoss')
->width('1rem')
->toggleable(),
CheckboxColumn::make('nicht_in_orientierung') CheckboxColumn::make('nicht_in_orientierung')
->label('NiO') ->label('NiO')
->toggleable() ->toggleable()
@@ -69,6 +81,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
$livewire->dispatch('refreshOrientierung'); $livewire->dispatch('refreshOrientierung');
}), }),
TextInputColumn::make('type') TextInputColumn::make('type')
->extraInputAttributes(['onClick' => 'this.select()'])
->toggleable() ->toggleable()
->disabled(fn ($record): bool => $record->nicht_in_orientierung) ->disabled(fn ($record): bool => $record->nicht_in_orientierung)
->width('2rem') ->width('2rem')
@@ -217,7 +230,23 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
TernaryFilter::make('nicht_in_orientierung') TernaryFilter::make('nicht_in_orientierung')
->label('Objekte "Nicht in Orientierung" anzeigen'), ->label('Objekte "Nicht in Orientierung" anzeigen'),
]) ])
->recordActions([
EditAction::make()->iconButton()
->mutateDataUsing(function (array $data): array {
$data['projekte_id'] = $this->ownerRecord->id;
return $data;
})->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektObjekteImDetail');
}),
DeleteAction::make()->iconButton()->after(function (Component $livewire) {
$livewire->dispatch('refreshProjektObjekteImDetail');
}),
])
->headerActions([ ->headerActions([
CreateAction::make()
->icon('phosphor-file-plus')
->createAnother(false),
Action::make('merkmale') Action::make('merkmale')
->icon('phosphor-pen') ->icon('phosphor-pen')
->modalCancelAction(fn (Action $action) => $action->label('Schließen')) ->modalCancelAction(fn (Action $action) => $action->label('Schließen'))
@@ -229,18 +258,18 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->after(function (Component $livewire) { ->after(function (Component $livewire) {
$livewire->dispatch('refreshOrientierung'); $livewire->dispatch('refreshOrientierung');
}), }),
Action::make('erstellen') // Action::make('erstellen')
->action(fn (CreateProjektOrientierungZuAbschlaege $createProjektOrientierungZuAbschlaege) => $createProjektOrientierungZuAbschlaege->create($this->ownerRecord)) // ->action(fn (CreateProjektObjekte $createProjektObjekte) => $createProjektObjekte->create($this->ownerRecord))
->requiresConfirmation() // ->requiresConfirmation()
->modalHeading('Objekte erstellen') // ->modalHeading('Objekte erstellen')
->modalDescription('Alle bestehenden Daten in dieser Tabelle werden vorher gelöscht.') // ->modalDescription('Alle bestehenden Daten in dieser Tabelle werden vorher gelöscht.')
->modalSubmitActionLabel('Generieren') // ->modalSubmitActionLabel('Generieren')
->label('Generieren') // ->label('Generieren')
->tooltip('Daten werden aus "Räume Alle" gefiltert.') // ->tooltip('Daten werden aus "Räume Alle" gefiltert.')
->icon('heroicon-o-cog-8-tooth') // ->icon('heroicon-o-cog-8-tooth')
->after(function (Component $livewire) { // ->after(function (Component $livewire) {
$livewire->dispatch('refreshOrientierung'); // $livewire->dispatch('refreshOrientierung');
}), // }),
]) ])
->toolbarActions([ ->toolbarActions([
BulkActionGroup::make([ BulkActionGroup::make([
@@ -254,7 +283,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->icon('phosphor-align-center-horizontal-simple') ->icon('phosphor-align-center-horizontal-simple')
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->where('nicht_in_orientierung', '=', false) ->where('nicht_in_orientierung', '=', false)
->update( ->update(
['type' => $data['type']] ['type' => $data['type']]
@@ -278,7 +307,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->icon('phosphor-compass') ->icon('phosphor-compass')
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
['orientierung_id' => $data['methode_id']] ['orientierung_id' => $data['methode_id']]
); );
@@ -302,7 +331,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->icon('phosphor-check-square') ->icon('phosphor-check-square')
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
['nicht_in_orientierung' => 1] ['nicht_in_orientierung' => 1]
); );
@@ -323,7 +352,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('a', $data['a'], $record); $nutzwert = $this->sum_nutzwerte('a', $data['a'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'a' => $data['a'], 'a' => $data['a'],
@@ -346,7 +375,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('b', $data['b'], $record); $nutzwert = $this->sum_nutzwerte('b', $data['b'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'b' => $data['b'], 'b' => $data['b'],
@@ -369,7 +398,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('c', $data['c'], $record); $nutzwert = $this->sum_nutzwerte('c', $data['c'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'c' => $data['c'], 'c' => $data['c'],
@@ -392,7 +421,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('d', $data['d'], $record); $nutzwert = $this->sum_nutzwerte('d', $data['d'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'd' => $data['d'], 'd' => $data['d'],
@@ -415,7 +444,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('e', $data['e'], $record); $nutzwert = $this->sum_nutzwerte('e', $data['e'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'e' => $data['e'], 'e' => $data['e'],
@@ -438,7 +467,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('f', $data['f'], $record); $nutzwert = $this->sum_nutzwerte('f', $data['f'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'f' => $data['f'], 'f' => $data['f'],
@@ -461,7 +490,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('g', $data['g'], $record); $nutzwert = $this->sum_nutzwerte('g', $data['g'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'g' => $data['g'], 'g' => $data['g'],
@@ -484,7 +513,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('h', $data['h'], $record); $nutzwert = $this->sum_nutzwerte('h', $data['h'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'h' => $data['h'], 'h' => $data['h'],
@@ -507,7 +536,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('i', $data['i'], $record); $nutzwert = $this->sum_nutzwerte('i', $data['i'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'i' => $data['i'], 'i' => $data['i'],
@@ -530,7 +559,7 @@ class ProjektOrientierungZuAbschlaegesRelationManager extends RelationManager
->action(function (Collection $records, array $data): void { ->action(function (Collection $records, array $data): void {
foreach ($records as $record) { foreach ($records as $record) {
$nutzwert = $this->sum_nutzwerte('j', $data['j'], $record); $nutzwert = $this->sum_nutzwerte('j', $data['j'], $record);
ProjektOrientierungZuAbschlaege::where('id', '=', $record->id) ProjektObjekte::where('id', '=', $record->id)
->update( ->update(
[ [
'j' => $data['j'], 'j' => $data['j'],
@@ -41,10 +41,12 @@ class ProjektPlatzhalterRelationManager extends RelationManager
{ {
return $table return $table
->recordTitleAttribute('name') ->recordTitleAttribute('name')
->emptyStateDescription('Generiere die Platzhalter aus dem Inhaltsverzeichnis.')
->columns([ ->columns([
TextColumn::make('platzhalter') TextColumn::make('platzhalter')
->searchable(), ->searchable(),
TextInputColumn::make('platzhaltertext') TextInputColumn::make('platzhaltertext')
->extraInputAttributes(['onClick' => 'this.select()'])
->label('Platzhalter Text') ->label('Platzhalter Text')
->searchable(), ->searchable(),
]) ])
@@ -3,7 +3,7 @@
namespace App\Filament\Resources\Projektes\Widgets; namespace App\Filament\Resources\Projektes\Widgets;
use App\Models\Merkmale; use App\Models\Merkmale;
use App\Models\ProjektOrientierungZuAbschlaege; use App\Models\ProjektObjekte;
use Filament\Actions\Action; use Filament\Actions\Action;
use Filament\Actions\DeleteAction; use Filament\Actions\DeleteAction;
use Filament\Actions\EditAction; use Filament\Actions\EditAction;
@@ -49,14 +49,14 @@ class WidgetMerkmale extends TableWidget
->color('gray') ->color('gray')
->iconButton() ->iconButton()
->after(function ($record) { ->after(function ($record) {
ProjektOrientierungZuAbschlaege::where('projekte_id', '=', $record->projekte_id) ProjektObjekte::where('projekte_id', '=', $record->projekte_id)
->update( ->update(
[$record->code => 0] [$record->code => 0]
); );
$res = ProjektOrientierungZuAbschlaege::where('projekte_id', '=', $record->projekte_id)->get(); $res = ProjektObjekte::where('projekte_id', '=', $record->projekte_id)->get();
foreach ($res as $value) { foreach ($res as $value) {
$nutzwert = round($value->a + $value->b + $value->c + $value->d + $value->e + $value->f + $value->g + $value->h + $value->i + $value->j); $nutzwert = round($value->a + $value->b + $value->c + $value->d + $value->e + $value->f + $value->g + $value->h + $value->i + $value->j);
ProjektOrientierungZuAbschlaege::where('id', '=', $value->id) ProjektObjekte::where('id', '=', $value->id)
->update( ->update(
['nutzwert' => $nutzwert] ['nutzwert' => $nutzwert]
); );
@@ -3,8 +3,10 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Relations\HasOne;
class ProjektOrientierungZuAbschlaege extends Model class ProjektObjekte extends Model
{ {
protected $fillable = [ protected $fillable = [
'projekte_id', 'projekte_id',
@@ -52,8 +54,13 @@ class ProjektOrientierungZuAbschlaege extends Model
]; ];
} }
public function orientierung() public function orientierung(): HasOne
{ {
return $this->hasOne(Orientierung::class, 'id', 'orientierung_id'); return $this->hasOne(Orientierung::class, 'id', 'orientierung_id');
} }
public function ProjektObjekteImDetail(): HasMany
{
return $this->hasMany(ProjektObjekteImDetail::class, 'projekt_objekte_id', 'id');
}
} }
@@ -4,11 +4,11 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class ProjektRaeumealle extends Model class ProjektObjekteImDetail extends Model
{ {
protected $fillable = [ protected $fillable = [
'projekte_id', 'projekte_id',
'projekt_orientierung_zu_abschlaege_id', 'projekt_objekte_id',
'methode_id', 'methode_id',
'top_nummer', 'top_nummer',
'geschoss', 'geschoss',
@@ -32,8 +32,8 @@ class ProjektRaeumealle extends Model
}); });
} }
public function orientierung_zu_abschlaege() public function top_nummer()
{ {
return $this->belongsTo(ProjektOrientierungZuAbschlaege::class, 'projekt_orientierung_zu_abschlaege_id', 'id'); return $this->belongsTo(ProjektObjekte::class, 'projekt_objekte_id', 'id');
} }
} }
+2 -2
View File
@@ -46,7 +46,7 @@ class Projekte extends Model
public function projekt_orientierung_zu_abschlaeges() public function projekt_orientierung_zu_abschlaeges()
{ {
return $this->hasMany(ProjektOrientierungZuAbschlaege::class); return $this->hasMany(ProjektObjekte::class);
} }
public function auftraggeber() public function auftraggeber()
@@ -71,7 +71,7 @@ class Projekte extends Model
public function projekt_raeumealles() public function projekt_raeumealles()
{ {
return $this->hasMany(ProjektRaeumealle::class); return $this->hasMany(ProjektObjekteImDetail::class);
} }
public function projekt_methodes() public function projekt_methodes()
+5 -5
View File
@@ -1,7 +1,7 @@
<?php return array ( <?php return array (
'default' => 'default' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/resources/svg' => '/Users/salam/Sites/nutzwerte_fi4/resources/svg' =>
array ( array (
0 => 'excel', 0 => 'excel',
1 => 'logo', 1 => 'logo',
@@ -11,7 +11,7 @@
), ),
'heroicons' => 'heroicons' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/blade-ui-kit/blade-heroicons/src/../resources/svg' => '/Users/salam/Sites/nutzwerte_fi4/vendor/blade-ui-kit/blade-heroicons/src/../resources/svg' =>
array ( array (
0 => 'c-academic-cap', 0 => 'c-academic-cap',
1 => 'c-adjustments-horizontal', 1 => 'c-adjustments-horizontal',
@@ -1305,7 +1305,7 @@
), ),
'phosphor-icons' => 'phosphor-icons' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/codeat3/blade-phosphor-icons/src/../resources/svg' => '/Users/salam/Sites/nutzwerte_fi4/vendor/codeat3/blade-phosphor-icons/src/../resources/svg' =>
array ( array (
0 => 'acorn-bold', 0 => 'acorn-bold',
1 => 'acorn-duotone', 1 => 'acorn-duotone',
@@ -10383,7 +10383,7 @@
), ),
'filament' => 'filament' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/filament/support/src/../resources/svg' => '/Users/salam/Sites/nutzwerte_fi4/vendor/filament/support/src/../resources/svg' =>
array ( array (
0 => 'o-align-center', 0 => 'o-align-center',
1 => 'o-align-end', 1 => 'o-align-end',
@@ -10420,7 +10420,7 @@
), ),
'lucide' => 'lucide' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/mallardduck/blade-lucide-icons/src/../resources/svg' => '/Users/salam/Sites/nutzwerte_fi4/vendor/mallardduck/blade-lucide-icons/src/../resources/svg' =>
array ( array (
0 => 'a-arrow-down', 0 => 'a-arrow-down',
1 => 'a-arrow-up', 1 => 'a-arrow-up',
+18 -18
View File
@@ -81,9 +81,9 @@
array ( array (
'paths' => 'paths' =>
array ( array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/resources/views', 0 => '/Users/salam/Sites/nutzwerte_fi4/resources/views',
), ),
'compiled' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/views', 'compiled' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/views',
), ),
'cors' => 'cors' =>
array ( array (
@@ -124,9 +124,9 @@
'timezone' => 'UTC', 'timezone' => 'UTC',
'locale' => 'de', 'locale' => 'de',
'fallback_locale' => 'en', 'fallback_locale' => 'en',
'faker_locale' => 'at_AT', 'faker_locale' => 'de_AT',
'cipher' => 'AES-256-CBC', 'cipher' => 'AES-256-CBC',
'key' => 'base64:yRi9h21i7xAkGpeF7JoArovQJU1w6xwczQ6ijpYpJrs=', 'key' => 'base64:zrVnUcBmUGjEV/EoAKnZCm/1FWplKu79kYBvevE2/ek=',
'previous_keys' => 'previous_keys' =>
array ( array (
), ),
@@ -301,8 +301,8 @@
'file' => 'file' =>
array ( array (
'driver' => 'file', 'driver' => 'file',
'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/cache/data', 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/cache/data',
'lock_path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/cache/data', 'lock_path' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/cache/data',
), ),
'memcached' => 'memcached' =>
array ( array (
@@ -522,7 +522,7 @@
), ),
'policies' => 'policies' =>
array ( array (
'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Policies', 'path' => '/Users/salam/Sites/nutzwerte_fi4/app/Policies',
'merge' => true, 'merge' => true,
'generate' => true, 'generate' => true,
'methods' => 'methods' =>
@@ -610,7 +610,7 @@
'local' => 'local' =>
array ( array (
'driver' => 'local', 'driver' => 'local',
'root' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/private', 'root' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/private',
'serve' => true, 'serve' => true,
'throw' => false, 'throw' => false,
'report' => false, 'report' => false,
@@ -618,7 +618,7 @@
'public' => 'public' =>
array ( array (
'driver' => 'local', 'driver' => 'local',
'root' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/public', 'root' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/public',
'url' => 'http://nutzwerte_fi4.test/storage', 'url' => 'http://nutzwerte_fi4.test/storage',
'visibility' => 'public', 'visibility' => 'public',
'throw' => false, 'throw' => false,
@@ -640,7 +640,7 @@
'promotion' => 'promotion' =>
array ( array (
'driver' => 'local', 'driver' => 'local',
'root' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/public/promotion', 'root' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/public/promotion',
'url' => 'http://nutzwerte_fi4.test/storage/promotion', 'url' => 'http://nutzwerte_fi4.test/storage/promotion',
'visibility' => 'public', 'visibility' => 'public',
'throw' => false, 'throw' => false,
@@ -648,7 +648,7 @@
), ),
'links' => 'links' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/public/storage' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/public', '/Users/salam/Sites/nutzwerte_fi4/public/storage' => '/Users/salam/Sites/nutzwerte_fi4/storage/app/public',
), ),
), ),
'logging' => 'logging' =>
@@ -673,14 +673,14 @@
'single' => 'single' =>
array ( array (
'driver' => 'single', 'driver' => 'single',
'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/logs/laravel.log', 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/logs/laravel.log',
'level' => 'debug', 'level' => 'debug',
'replace_placeholders' => true, 'replace_placeholders' => true,
), ),
'daily' => 'daily' =>
array ( array (
'driver' => 'daily', 'driver' => 'daily',
'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/logs/laravel.log', 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/logs/laravel.log',
'level' => 'debug', 'level' => 'debug',
'days' => 14, 'days' => 14,
'replace_placeholders' => true, 'replace_placeholders' => true,
@@ -745,7 +745,7 @@
), ),
'emergency' => 'emergency' =>
array ( array (
'path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/logs/laravel.log', 'path' => '/Users/salam/Sites/nutzwerte_fi4/storage/logs/laravel.log',
), ),
), ),
), ),
@@ -844,7 +844,7 @@
'theme' => 'default', 'theme' => 'default',
'paths' => 'paths' =>
array ( array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/resources/views/vendor/mail', 0 => '/Users/salam/Sites/nutzwerte_fi4/resources/views/vendor/mail',
), ),
), ),
), ),
@@ -1033,7 +1033,7 @@
'lifetime' => 120, 'lifetime' => 120,
'expire_on_close' => false, 'expire_on_close' => false,
'encrypt' => false, 'encrypt' => false,
'files' => '/Users/hermanntelser/Sites/nutzwerte_fi4/storage/framework/sessions', 'files' => '/Users/salam/Sites/nutzwerte_fi4/storage/framework/sessions',
'connection' => NULL, 'connection' => NULL,
'table' => 'sessions', 'table' => 'sessions',
'store' => NULL, 'store' => NULL,
@@ -1081,7 +1081,7 @@
), ),
'default_filesystem_disk' => 'local', 'default_filesystem_disk' => 'local',
'assets_path' => NULL, 'assets_path' => NULL,
'cache_path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/bootstrap/cache/filament', 'cache_path' => '/Users/salam/Sites/nutzwerte_fi4/bootstrap/cache/filament',
'livewire_loading_delay' => 'default', 'livewire_loading_delay' => 'default',
'file_generation' => 'file_generation' =>
array ( array (
@@ -1094,7 +1094,7 @@
'livewire' => 'livewire' =>
array ( array (
'class_namespace' => 'App\\Livewire', 'class_namespace' => 'App\\Livewire',
'view_path' => '/Users/hermanntelser/Sites/nutzwerte_fi4/resources/views/livewire', 'view_path' => '/Users/salam/Sites/nutzwerte_fi4/resources/views/livewire',
'layout' => 'components.layouts.app', 'layout' => 'components.layouts.app',
'lazy_placeholder' => NULL, 'lazy_placeholder' => NULL,
'temporary_file_upload' => 'temporary_file_upload' =>
+24 -24
View File
@@ -34,9 +34,9 @@
'app.filament.resources.projektes.relation-managers.projekt-allgemeinflaechens-relation-manager' => 'App\\Filament\\Resources\\Projektes\\RelationManagers\\ProjektAllgemeinflaechensRelationManager', '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-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-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-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-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.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-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.textblocks.pages.create-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\CreateTextblock', 'app.filament.resources.textblocks.pages.create-textblock' => 'App\\Filament\\Resources\\Textblocks\\Pages\\CreateTextblock',
@@ -70,9 +70,9 @@
), ),
'clusters' => 'clusters' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
), ),
'clusteredComponents' => 'clusteredComponents' =>
array ( array (
@@ -97,7 +97,7 @@
), ),
'clusterDirectories' => 'clusterDirectories' =>
array ( array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters', 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters',
), ),
'clusterNamespaces' => 'clusterNamespaces' =>
array ( array (
@@ -105,14 +105,14 @@
), ),
'pages' => 'pages' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
0 => 'Filament\\Pages\\Dashboard', 0 => 'Filament\\Pages\\Dashboard',
), ),
'pageDirectories' => 'pageDirectories' =>
array ( array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Pages', 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Pages',
), ),
'pageNamespaces' => 'pageNamespaces' =>
array ( array (
@@ -120,23 +120,23 @@
), ),
'resources' => 'resources' =>
array ( array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php' => 'App\\Filament\\Resources\\Auftraggebers\\AuftraggeberResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php' => 'App\\Filament\\Resources\\Auftraggebers\\AuftraggeberResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Gutachters/GutachterResource.php' => 'App\\Filament\\Resources\\Gutachters\\GutachterResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Gutachters/GutachterResource.php' => 'App\\Filament\\Resources\\Gutachters\\GutachterResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Inhaltsverzeichnis/InhaltsverzeichnisResource.php' => 'App\\Filament\\Resources\\Inhaltsverzeichnis\\InhaltsverzeichnisResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Inhaltsverzeichnis/InhaltsverzeichnisResource.php' => 'App\\Filament\\Resources\\Inhaltsverzeichnis\\InhaltsverzeichnisResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php' => 'App\\Filament\\Resources\\KontoTextblocks\\KontoTextblockResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php' => 'App\\Filament\\Resources\\KontoTextblocks\\KontoTextblockResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Kontos/KontoResource.php' => 'App\\Filament\\Resources\\Kontos\\KontoResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Kontos/KontoResource.php' => 'App\\Filament\\Resources\\Kontos\\KontoResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Methodes/MethodeResource.php' => 'App\\Filament\\Resources\\Methodes\\MethodeResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Methodes/MethodeResource.php' => 'App\\Filament\\Resources\\Methodes\\MethodeResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Orientierungs/OrientierungResource.php' => 'App\\Filament\\Resources\\Orientierungs\\OrientierungResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Orientierungs/OrientierungResource.php' => 'App\\Filament\\Resources\\Orientierungs\\OrientierungResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Permissions/PermissionResource.php' => 'App\\Filament\\Resources\\Permissions\\PermissionResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Permissions/PermissionResource.php' => 'App\\Filament\\Resources\\Permissions\\PermissionResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Plans/PlanResource.php' => 'App\\Filament\\Resources\\Plans\\PlanResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Plans/PlanResource.php' => 'App\\Filament\\Resources\\Plans\\PlanResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Projektes/ProjekteResource.php' => 'App\\Filament\\Resources\\Projektes\\ProjekteResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Projektes/ProjekteResource.php' => 'App\\Filament\\Resources\\Projektes\\ProjekteResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Textblocks/TextblockResource.php' => 'App\\Filament\\Resources\\Textblocks\\TextblockResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Textblocks/TextblockResource.php' => 'App\\Filament\\Resources\\Textblocks\\TextblockResource',
'/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Users/UserResource.php' => 'App\\Filament\\Resources\\Users\\UserResource', '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Users/UserResource.php' => 'App\\Filament\\Resources\\Users\\UserResource',
0 => 'BezhanSalleh\\FilamentShield\\Resources\\Roles\\RoleResource', 0 => 'BezhanSalleh\\FilamentShield\\Resources\\Roles\\RoleResource',
), ),
'resourceDirectories' => 'resourceDirectories' =>
array ( array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources', 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources',
), ),
'resourceNamespaces' => 'resourceNamespaces' =>
array ( array (
@@ -149,7 +149,7 @@
), ),
'widgetDirectories' => 'widgetDirectories' =>
array ( array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Widgets', 0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Widgets',
), ),
'widgetNamespaces' => 'widgetNamespaces' =>
array ( array (
+24 -24
View File
@@ -531,7 +531,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::Feas8RlpQLNfkhRA', '_route' => 'generated::4SIj1nKjOMZa2Dgp',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -551,7 +551,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::qmUdscx1u8NuSJsH', '_route' => 'generated::FVBSV1p9Dk0O3Q1T',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -609,7 +609,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::UmhduMDKaxd1xZ8m', '_route' => 'generated::nVz7MuifKVdqmvkL',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -629,7 +629,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::Lbt6IijwSEnP7rwK', '_route' => 'generated::zSeFCuUksgCJprOh',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -649,7 +649,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::e1au2bDwPbNUQD8Q', '_route' => 'generated::BWXgxDSnJHlDg6U4',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -669,7 +669,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::HpvYDbQuLdTEPABh', '_route' => 'generated::VCgOmaKwkbcvQjAw',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -689,7 +689,7 @@ app('router')->setCompiledRoutes(
array ( array (
0 => 0 =>
array ( array (
'_route' => 'generated::FA40qXcJYirVk60o', '_route' => 'generated::aSkUTnt3y0YYhani',
), ),
1 => NULL, 1 => NULL,
2 => 2 =>
@@ -2740,7 +2740,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::Feas8RlpQLNfkhRA' => 'generated::4SIj1nKjOMZa2Dgp' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2752,7 +2752,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::Feas8RlpQLNfkhRA', 'as' => 'generated::4SIj1nKjOMZa2Dgp',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2768,7 +2768,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::qmUdscx1u8NuSJsH' => 'generated::FVBSV1p9Dk0O3Q1T' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2780,7 +2780,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::qmUdscx1u8NuSJsH', 'as' => 'generated::FVBSV1p9Dk0O3Q1T',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2882,7 +2882,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::UmhduMDKaxd1xZ8m' => 'generated::nVz7MuifKVdqmvkL' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2892,7 +2892,7 @@ app('router')->setCompiledRoutes(
'uri' => 'up', 'uri' => 'up',
'action' => 'action' =>
array ( array (
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:834:"function () { 'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:0:{}s:8:"function";s:826:"function () {
$exception = null; $exception = null;
try { try {
@@ -2907,11 +2907,11 @@ app('router')->setCompiledRoutes(
$exception = $e->getMessage(); $exception = $e->getMessage();
} }
return response(\\Illuminate\\Support\\Facades\\View::file(\'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/laravel/framework/src/Illuminate/Foundation/Configuration\'.\'/../resources/health-up.blade.php\', [ return response(\\Illuminate\\Support\\Facades\\View::file(\'/Users/salam/Sites/nutzwerte_fi4/vendor/laravel/framework/src/Illuminate/Foundation/Configuration\'.\'/../resources/health-up.blade.php\', [
\'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:"0000000000000f3b0000000000000000";}}', }";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"0000000000000f3b0000000000000000";}}',
'as' => 'generated::UmhduMDKaxd1xZ8m', 'as' => 'generated::nVz7MuifKVdqmvkL',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2927,7 +2927,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::Lbt6IijwSEnP7rwK' => 'generated::zSeFCuUksgCJprOh' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2949,7 +2949,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::Lbt6IijwSEnP7rwK', 'as' => 'generated::zSeFCuUksgCJprOh',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -2965,7 +2965,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::e1au2bDwPbNUQD8Q' => 'generated::BWXgxDSnJHlDg6U4' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -2987,7 +2987,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::e1au2bDwPbNUQD8Q', 'as' => 'generated::BWXgxDSnJHlDg6U4',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -3003,7 +3003,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::HpvYDbQuLdTEPABh' => 'generated::VCgOmaKwkbcvQjAw' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -3025,7 +3025,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::HpvYDbQuLdTEPABh', 'as' => 'generated::VCgOmaKwkbcvQjAw',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -3041,7 +3041,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL, 'waitSeconds' => NULL,
'withTrashed' => false, 'withTrashed' => false,
), ),
'generated::FA40qXcJYirVk60o' => 'generated::aSkUTnt3y0YYhani' =>
array ( array (
'methods' => 'methods' =>
array ( array (
@@ -3063,7 +3063,7 @@ app('router')->setCompiledRoutes(
'where' => 'where' =>
array ( array (
), ),
'as' => 'generated::FA40qXcJYirVk60o', 'as' => 'generated::aSkUTnt3y0YYhani',
), ),
'fallback' => false, 'fallback' => false,
'defaults' => 'defaults' =>
@@ -3203,7 +3203,7 @@ app('router')->setCompiledRoutes(
'uri' => 'storage/{path}', 'uri' => 'storage/{path}',
'action' => 'action' =>
array ( array (
'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:3:{s:4:"disk";s:5:"local";s:6:"config";a:5:{s:6:"driver";s:5:"local";s:4:"root";s:60:"/Users/hermanntelser/Sites/nutzwerte_fi4/storage/app/private";s:5:"serve";b:1;s:5:"throw";b:0;s:6:"report";b:0;}s:12:"isProduction";b:0;}s:8:"function";s:323:"function (\\Illuminate\\Http\\Request $request, string $path) use ($disk, $config, $isProduction) { 'uses' => 'O:55:"Laravel\\SerializableClosure\\UnsignedSerializableClosure":1:{s:12:"serializable";O:46:"Laravel\\SerializableClosure\\Serializers\\Native":5:{s:3:"use";a:3:{s:4:"disk";s:5:"local";s:6:"config";a:5:{s:6:"driver";s:5:"local";s:4:"root";s:52:"/Users/salam/Sites/nutzwerte_fi4/storage/app/private";s:5:"serve";b:1;s:5:"throw";b:0;s:6:"report";b:0;}s:12:"isProduction";b:0;}s:8:"function";s:323:"function (\\Illuminate\\Http\\Request $request, string $path) use ($disk, $config, $isProduction) {
return (new \\Illuminate\\Filesystem\\ServeFile( return (new \\Illuminate\\Filesystem\\ServeFile(
$disk, $disk,
$config, $config,
Generated
+5 -5
View File
@@ -3256,16 +3256,16 @@
}, },
{ {
"name": "league/csv", "name": "league/csv",
"version": "9.27.0", "version": "9.27.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/thephpleague/csv.git", "url": "https://github.com/thephpleague/csv.git",
"reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845" "reference": "26de738b8fccf785397d05ee2fc07b6cd8749797"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/thephpleague/csv/zipball/cb491b1ba3c42ff2bcd0113814f4256b42bae845", "url": "https://api.github.com/repos/thephpleague/csv/zipball/26de738b8fccf785397d05ee2fc07b6cd8749797",
"reference": "cb491b1ba3c42ff2bcd0113814f4256b42bae845", "reference": "26de738b8fccf785397d05ee2fc07b6cd8749797",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@@ -3343,7 +3343,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2025-10-16T08:22:09+00:00" "time": "2025-10-25T08:35:20+00:00"
}, },
{ {
"name": "league/flysystem", "name": "league/flysystem",
@@ -11,7 +11,7 @@ return new class extends Migration
*/ */
public function up(): void public function up(): void
{ {
Schema::create('projekt_orientierung_zu_abschlaeges', function (Blueprint $table) { Schema::create('projekt_objektes', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); $table->foreignId('projekte_id')->constrained()->cascadeOnDelete();
$table->integer('orientierung_id')->nullable()->default(0); $table->integer('orientierung_id')->nullable()->default(0);
@@ -41,6 +41,6 @@ return new class extends Migration
*/ */
public function down(): void public function down(): void
{ {
Schema::dropIfExists('projekt_orientierung_zu_abschlaeges'); Schema::dropIfExists('projekt_objektes');
} }
}; };
@@ -11,10 +11,10 @@ return new class extends Migration
*/ */
public function up(): void public function up(): void
{ {
Schema::create('projekt_raeumealles', function (Blueprint $table) { Schema::create('projekt_objekte_im_details', function (Blueprint $table) {
$table->id(); $table->id();
$table->foreignId('projekte_id')->constrained()->cascadeOnDelete(); $table->foreignId('projekte_id')->constrained()->cascadeOnDelete();
$table->integer('projekt_orientierung_zu_abschlaege_id')->constrained()->cascadeOnDelete(); $table->foreignId('projekt_objekte_id')->constrained()->cascadeOnDelete();
$table->string('geschoss')->nullable(); $table->string('geschoss')->nullable();
$table->string('raumart')->nullable(); $table->string('raumart')->nullable();
$table->double('faktor')->nullable(); $table->double('faktor')->nullable();
@@ -29,6 +29,6 @@ return new class extends Migration
*/ */
public function down(): void public function down(): void
{ {
Schema::dropIfExists('projekt_raeumealles'); Schema::dropIfExists('projekt_objekte_im_details');
} }
}; };
+1 -1
View File
@@ -4,7 +4,7 @@ namespace Database\Seeders;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
class ProjektRaeumealleSeeder extends Seeder class ProjektObjekteImDetailSeeder extends Seeder
{ {
/** /**
* Run the database seeds. * Run the database seeds.
@@ -1,5 +1,7 @@
<div class="text-sm"> <div class="text-sm">
Beim Importiert werden die Daten den Tabellen "<b>Objekte</b>" und "<b>Objekte im Detail</b>" angehängt. Neue Daten werden den Tabellen "<b class="primary">Objekte</b>" und "<b>Objekte im Detail</b>" angehängt. Sollte die
entsprechende
"Top Nummer" schon existieren werden die Daten entsprechend aktualisiert.
<br> <br>
Um neu zu starten können sie diese Tabelle vor dem Import leeren. Um neu zu starten können sie diese Tabellen vor dem Import leeren.
</div> </div>