diff --git a/app/Filament/Imports/ImportAllgemeinDirect.php b/app/Filament/Imports/ImportAllgemeinDirect.php index 018ef4e..8df345b 100644 --- a/app/Filament/Imports/ImportAllgemeinDirect.php +++ b/app/Filament/Imports/ImportAllgemeinDirect.php @@ -11,11 +11,17 @@ class ImportAllgemeinDirect { $data = explode(PHP_EOL, $data['upload_data']); + $error = 0; $new = 0; foreach ($data as $row) { $row = str_replace(';', '|', $row); $cells = explode('|', $row); + if (\count($cells) != 4) { + $error = 1; + break; + } + $geschoss = trim($cells[1]); $raumart = trim($cells[2]); $flaeche = (float) str_replace(',', '.', trim($cells[3])); @@ -31,17 +37,26 @@ class ImportAllgemeinDirect $new++; } } - Notification::make() - ->title('Allgemeinflächen wurden erfolgreich importiert') - ->body($new.' wurden Flächen hinzugefügt') - ->success() - ->send(); - $recipient = auth()->user(); - Notification::make() - ->title('Allgemeinflächen wurden erfolgreich importiert') - ->body($new.' wurden Flächen hinzugefügt') - ->success() - ->sendToDatabase($recipient); + if ($error) { + Notification::make() + ->title('Fehlerbeim Import') + ->body('Daten konnten nicht in vier Spalten aufgeteilt werden. Falscher Separator?') + ->danger() + ->send(); + } else { + Notification::make() + ->title('Allgemeinflächen wurden erfolgreich importiert') + ->body($new.' wurden Flächen hinzugefügt') + ->success() + ->send(); + + $recipient = auth()->user(); + Notification::make() + ->title('Allgemeinflächen wurden erfolgreich importiert') + ->body($new.' wurden Flächen hinzugefügt') + ->success() + ->sendToDatabase($recipient); + } } } diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php index 10415f3..7c29402 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektAllgemeinflaechensRelationManager.php @@ -87,7 +87,7 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager ->color('info') ->label('Hochladen') ->modalHeading('Allgemeinflächen hochladen') - ->modalDescription(new HtmlString('Objekte werden immer hinzugefügt!
Spalten-Separator ist der Strichpunkt ";" oder die Pfeife "|"')) + ->modalDescription(new HtmlString('Objekte werden immer hinzugefügt!
Spalten Separator:
Strichpunkt ";" oder Pfeife "|"
Immer vier Spalten verwenden, erste Spalte wird ignoriert.

Beispiel:
Allgemein | EG | Eingang | 15,35
Allgemein | EG | Eingang/ Stiegenhaus | 27,16')) ->schema([ Textarea::make('upload_data') ->required() diff --git a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php index e3ec79a..80815b3 100644 --- a/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php +++ b/app/Filament/Resources/Projektes/RelationManagers/ProjektObjekteImDetailRelationManager.php @@ -148,7 +148,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager ->color('info') ->label('Hochladen') ->modalHeading('Objekte im Detail hochladen') - ->modalDescription(new HtmlString('Objekte werden immer hinzugefügt!
Spalten-Separator ist der Strichpunkt ";" oder die Pfeife "|"')) + ->modalDescription(new HtmlString('Objekte werden immer hinzugefügt!
Spalten Separator:
Strichpunkt ";" oder Pfeife "|"
Immer vier Spalten verwenden.

Beispiel:
"APG 01";"UG ";"Stellplatz+ ";"14,25"
"APG 02";"UG ";"Stellplatz";"12,94"')) ->schema([ Textarea::make('upload_data') ->required()