This commit is contained in:
salam committed 2026-02-26 17:23:51 +01:00
1 parent 2c5352882b
commit 79a235534e
8 files changed
+46 -31

No files matched your search

@@ -25,6 +25,17 @@ class ProjektObjekteImDetailImporter extends Importer
return $res;
}
public function getCsvSettings(): array
{
return [
// Setzt das Anführungszeichen auf leer,
// um "text" als text zu lesen
'enclosure' => '',
'escape_character' => '\\',
'use_bom' => true,
];
}
public static function getColumns(): array
{
return [
@@ -10,7 +10,6 @@ use App\Models\Konto;
use App\Models\ProjektAllgemeinflaechen;
use App\Models\Projekte;
use App\Models\ProjektObjekte;
use App\Models\ProjektObjekteImDetail;
use App\Traits\HasBackUrl;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
@@ -43,6 +42,7 @@ class EditProjekte extends EditRecord
->csvDelimiter('|')
->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([
@@ -86,6 +86,7 @@ class EditProjekte extends EditRecord
->csvDelimiter('|')
->modalHeading('Objekte im Detail Import')
->modalContent(view('filament.pages.actions.import-objektemitraeumen'))
->modalContentFooter(view('filament.pages.actions.footer-objektemitraeumen'))
->label('Objekte')
->icon('phosphor-upload')
->extraModalFooterActions([
@@ -107,7 +108,6 @@ class EditProjekte extends EditRecord
->color('danger')
->requiresConfirmation()
->action(function ($record) {
ProjektObjekteImDetail::where('projekte_id', $record->id)->delete();
ProjektObjekte::where('projekte_id', $record->id)->delete();
$this->record->refresh();
+21 -21
View File
@@ -531,7 +531,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::NzY5sMjy09l0PpmQ',
'_route' => 'generated::k7ez31ysAW0Y58FL',
),
1 => NULL,
2 =>
@@ -551,7 +551,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::CtkC04utPkigoHQc',
'_route' => 'generated::QNkpSrWwzTyohqAh',
),
1 => NULL,
2 =>
@@ -609,7 +609,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::c3MJA33OP0f9nHYt',
'_route' => 'generated::o3mCMIIwcuvYJ9lu',
),
1 => NULL,
2 =>
@@ -629,7 +629,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::InLNAuxan0Pe9PL8',
'_route' => 'generated::mw9F9pUrztfOIUSK',
),
1 => NULL,
2 =>
@@ -649,7 +649,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::mGACL7esvxMYVaYW',
'_route' => 'generated::WzjR3sKEIDCDZqgi',
),
1 => NULL,
2 =>
@@ -669,7 +669,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::vY9YKsHcxDlb83Wz',
'_route' => 'generated::fIhqFwmPowvinThV',
),
1 => NULL,
2 =>
@@ -689,7 +689,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::WCKAFEcrjt18mBnQ',
'_route' => 'generated::ywtvB1jLVBLyrZqA',
),
1 => NULL,
2 =>
@@ -2757,7 +2757,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::NzY5sMjy09l0PpmQ' =>
'generated::k7ez31ysAW0Y58FL' =>
array (
'methods' =>
array (
@@ -2769,7 +2769,7 @@ app('router')->setCompiledRoutes(
array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@returnJavaScriptAsFile',
'as' => 'generated::NzY5sMjy09l0PpmQ',
'as' => 'generated::k7ez31ysAW0Y58FL',
),
'fallback' => false,
'defaults' =>
@@ -2785,7 +2785,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::CtkC04utPkigoHQc' =>
'generated::QNkpSrWwzTyohqAh' =>
array (
'methods' =>
array (
@@ -2797,7 +2797,7 @@ app('router')->setCompiledRoutes(
array (
'uses' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'controller' => 'Livewire\\Mechanisms\\FrontendAssets\\FrontendAssets@maps',
'as' => 'generated::CtkC04utPkigoHQc',
'as' => 'generated::QNkpSrWwzTyohqAh',
),
'fallback' => false,
'defaults' =>
@@ -2899,7 +2899,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::c3MJA33OP0f9nHYt' =>
'generated::o3mCMIIwcuvYJ9lu' =>
array (
'methods' =>
array (
@@ -2928,7 +2928,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:"00000000000009bd0000000000000000";}}',
'as' => 'generated::c3MJA33OP0f9nHYt',
'as' => 'generated::o3mCMIIwcuvYJ9lu',
),
'fallback' => false,
'defaults' =>
@@ -2944,7 +2944,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::InLNAuxan0Pe9PL8' =>
'generated::mw9F9pUrztfOIUSK' =>
array (
'methods' =>
array (
@@ -2966,7 +2966,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::InLNAuxan0Pe9PL8',
'as' => 'generated::mw9F9pUrztfOIUSK',
),
'fallback' => false,
'defaults' =>
@@ -2982,7 +2982,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::mGACL7esvxMYVaYW' =>
'generated::WzjR3sKEIDCDZqgi' =>
array (
'methods' =>
array (
@@ -3004,7 +3004,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::mGACL7esvxMYVaYW',
'as' => 'generated::WzjR3sKEIDCDZqgi',
),
'fallback' => false,
'defaults' =>
@@ -3020,7 +3020,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::vY9YKsHcxDlb83Wz' =>
'generated::fIhqFwmPowvinThV' =>
array (
'methods' =>
array (
@@ -3042,7 +3042,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::vY9YKsHcxDlb83Wz',
'as' => 'generated::fIhqFwmPowvinThV',
),
'fallback' => false,
'defaults' =>
@@ -3058,7 +3058,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::WCKAFEcrjt18mBnQ' =>
'generated::ywtvB1jLVBLyrZqA' =>
array (
'methods' =>
array (
@@ -3080,7 +3080,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::WCKAFEcrjt18mBnQ',
'as' => 'generated::ywtvB1jLVBLyrZqA',
),
'fallback' => false,
'defaults' =>
@@ -15,7 +15,7 @@ return new class extends Migration
$table->id();
$table->string('queue')->index();
$table->longText('payload');
$table->unsignedTinyInteger('attempts');
$table->integer('attempts');
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
@@ -1,5 +1,6 @@
<div class="text-sm text-gray-400">
Datei: .csv, .txt
<br><b>3</b> Spalten: "Geschoss","Raumart","Fläche"
<br>Separator: ;
Filament (und die meisten modernen PHP-Parsing-Bibliotheken) erwarten in der Regel Standard-Unix-Zeilenenden (LF,
\n) oder Windows-Zeilenenden (CRLF, \r\n). Zeilenenden im alten Macintosh-Stil (CR, \r) werden in der Regel nicht
erkannt, was dazu führt, dass die gesamte CSV-Datei als eine einzige lange Zeile behandelt wird.
<br>Bitte beim Export berücksichtigen!
</div>
@@ -1,5 +1,6 @@
<div class="text-sm text-gray-400">
Datei: .csv, .txt
<br><b>4</b> Spalten: "Top Nummer";"Geschoss";"Raumart","Fläche"
<br>Separator: ;
<div class="text-sm text-gray-500">
Filament (und die meisten modernen PHP-Parsing-Bibliotheken) erwarten in der Regel Standard-Unix-Zeilenenden (LF,
\n) oder Windows-Zeilenenden (CRLF, \r\n). Zeilenenden im alten Macintosh-Stil (CR, \r) werden in der Regel nicht
erkannt, was dazu führt, dass die gesamte CSV-Datei als eine einzige lange Zeile behandelt wird.
<br>Bitte beim Export berücksichtigen!
</div>
@@ -3,6 +3,7 @@
<li>Neue Daten werden den Bestehenden <b>angehängt</b>. Änderungen können in der Tabelle direkt vorgenommen
werden.</li>
<li>Spalten <b>Separator</b> ist die Pfeife (|).</li>
<li>Spalten Elemente werden ohne Aphostropen dargestellt.</li>
<li>Die Liste besteht aus 4 Spalten. (Geschoss|Raumart|Fläche)</li>
<li>Die <span class="text-green-600">Spaltennamen</span> in der ersten Zeile sind <b>erforderlich</b>, bitte mit
dem grünen Button <span class="text-green-600">kopieren und</span> am Anfang der CSV Liste <span
@@ -3,6 +3,7 @@
<li>Neue Daten werden den Bestehenden <b>angehängt</b>. Änderungen können in der Tabelle direkt vorgenommen
werden.</li>
<li>Spalten <b>Separator</b> ist die Pfeife (|).</li>
<li>Spalten Elemente werden ohne Aphostropen dargestellt.</li>
<li>Die Liste besteht aus 4 Spalten. (Top Nummer|Geschoss|Raumart|Fläche)</li>
<li>Die <span class="text-green-600">Spaltennamen</span> in der ersten Zeile sind <b>erforderlich</b>, bitte mit
dem grünen Button <span class="text-green-600">kopieren und</span> am Anfang der CSV Liste <span