import new

This commit is contained in:
salam committed 2026-04-15 15:59:56 +02:00
1 parent df55380236
commit 228927274d
12 files changed
+272 -207

No files matched your search

-16
View File
@@ -1,16 +0,0 @@
<?php
namespace App\Actions\Helper;
class LineEndings
{
public static function convert($string)
{
$string = preg_replace('~\R~', PHP_EOL, $string);
// Don't allow out-of-control blank lines.
// $string = preg_replace("/\n{3,}/", "\n\n", $string);
return $string;
}
}
@@ -0,0 +1,47 @@
<?php
namespace App\Filament\Imports;
use App\Models\ProjektAllgemeinflaechen;
use Filament\Notifications\Notification;
class ImportAllgemeinDirect
{
public static function run($data, $projekte_id)
{
$data = explode(PHP_EOL, $data['upload_data']);
$new = 0;
foreach ($data as $row) {
$row = str_replace(';', '|', $row);
$cells = explode('|', $row);
$geschoss = trim($cells[1]);
$raumart = trim($cells[2]);
$flaeche = (float) str_replace(',', '.', trim($cells[3]));
if (is_numeric($flaeche) && $flaeche > 0) {
$allgemein = new ProjektAllgemeinflaechen;
$allgemein->projekte_id = $projekte_id;
$allgemein->geschoss = $geschoss;
$allgemein->raumart = $raumart;
$allgemein->flaeche = $flaeche;
$allgemein->save();
$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);
}
}
@@ -0,0 +1,99 @@
<?php
namespace App\Filament\Imports;
use App\Models\ProjektObjekte;
use App\Models\ProjektObjekteImDetail;
use Filament\Notifications\Notification;
use Illuminate\Support\HtmlString;
class ImportObjekteDirect
{
public static function run($data, $projekte_id)
{
$data = explode(PHP_EOL, $data['upload_data']);
$has_objekte = ProjektObjekte::where('projekte_id', $projekte_id)->count();
$has_detail = ProjektObjekteImDetail::where('projekte_id', $projekte_id)->count();
$new_objekte = 0;
$new_detail = 0;
$update_objekte = 0;
$update_detail = 0;
$projekt_objekte_check = 0;
foreach ($data as $row) {
$row = str_replace(';', '|', $row);
$cells = explode('|', $row);
$top_nummer = trim($cells[0]);
$geschoss = trim($cells[1]);
$raumart = trim($cells[2]);
$flaeche = (float) str_replace(',', '.', trim($cells[3]));
if (is_numeric($flaeche) && $flaeche > 0) {
$projekt_objekte = ProjektObjekte::firstOrCreate([
'projekte_id' => $projekte_id,
'top_nummer' => $top_nummer,
]);
if ($projekt_objekte->new) { // some way to check
if ($projekt_objekte_check != $projekt_objekte->id) {
$new_objekte++;
}
} else {
if ($projekt_objekte_check != $projekt_objekte->id) {
$update_objekte++;
}
}
$projekt_objekte_check = $projekt_objekte->id;
$prokectimdetail = ProjektObjekteImDetail::firstOrCreate(
['projekte_id' => $projekte_id, 'projekt_objekte_id' => $projekt_objekte->id, 'geschoss' => $geschoss, 'raumart' => $raumart],
['flaeche' => $flaeche]
);
if ($prokectimdetail->new) { // some way to check
$new_detail++;
} else {
$update_detail++;
}
}
}
Notification::make()
->title('Objekte im Detail wurden erfolgreich importiert')
->success()
->send();
$recipient = auth()->user();
Notification::make()
->title('Objekte im Detail wurden erfolgreich importiert')
->body(self::getBody($has_objekte, $has_detail, $new_objekte, $new_detail, $update_objekte, $update_detail))
->success()
->sendToDatabase($recipient);
}
public static function getBody($has_objekte, $has_detail, $new_objekte, $new_detail, $update_objekte, $update_detail)
{
return new HtmlString('<div class="grid grid-cols-2 gap-2 w-full">
<div class="col-span-2">Objekte</div>
<div>Bestehende</div>
<div>'.$has_objekte.'</div>
<div>Geänderte</div>
<div>'.$update_objekte.'</div>
<div>Neue</div>
<div>'.$new_objekte.'</div>
<div class="col-span-2">Objekte im Detail</div>
<div>Bestehende</div>
<div>'.$has_detail.'</div>
<div>Geänderte</div>
<div>'.$update_detail.'</div>
<div>Neue</div>
<div>'.$new_detail.'</div>
</div>');
}
}
@@ -3,25 +3,17 @@
namespace App\Filament\Resources\Projektes\Pages;
use App\Actions\Validation\GutachtenValidation;
use App\Filament\Imports\ProjektAllgemeinflaechenImporter;
use App\Filament\Imports\ProjektObjekteImDetailImporter;
use App\Filament\Resources\Projektes\ProjekteResource;
use App\Models\Konto;
use App\Models\ProjektAllgemeinflaechen;
use App\Models\Projekte;
use App\Models\ProjektObjekte;
use App\Traits\HasBackUrl;
use Carbon\Carbon;
use Filament\Actions\Action;
use Filament\Actions\ActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\ImportAction;
use Filament\Forms\Components\Radio;
use Filament\Forms\Components\Textarea;
use Filament\Notifications\Notification;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rules\File;
use Livewire\Attributes\On;
class EditProjekte extends EditRecord
@@ -36,122 +28,6 @@ class EditProjekte extends EditRecord
protected function getHeaderActions(): array
{
return [
/**
* IMPORT
*/
ActionGroup::make([
Action::make('fix_line_endings')
->icon('phosphor-file-text')
->modalIcon('phosphor-file-csv')
->label('Daten direkt hochladen')
->schema([
Radio::make('tabel_mode')
->label('Tabellen Art')
->inline()
->options([
'allgemein' => 'Allgemeinflächen',
'objekte_in_detail' => 'Objekte im Detail',
]),
Textarea::make('upload_data')
->label('Daten hier einfügen')
->extraInputAttributes(['onClick' => 'this.select()'])
->rows(5),
]),
ImportAction::make('import_allgemeinflaechen')
->hidden(fn ($record): bool => $record->bezahlt_am ? false : true)
->importer(ProjektAllgemeinflaechenImporter::class)
->csvDelimiter('|')
->modalIcon('phosphor-file-csv')
->modalHeading('Dokument Allgemeinflächen Import')
->modalContent(view('filament.pages.actions.import-allgemeinflaechen'))
->modalContentFooter(view('filament.pages.actions.footer-allgemeinflaechen'))
->label('Allgemeinflächen')
->icon('phosphor-upload')
->extraModalFooterActions([
Action::make('copy')
->tooltip('Kopiert die Spaltenname für die erste Zeile')
->color('success')
->label('Spalten Namen')
->action(function ($livewire) {
$livewire->js('window.navigator.clipboard.writeText("Geschoss|Raumart|Fläche");');
Notification::make()
->title('Spaltenname kopiert')
->success()
->send();
}),
Action::make('delete')
->label('Tabelle leeren')
->color('danger')
->requiresConfirmation()
->action(function ($record) {
ProjektAllgemeinflaechen::where('projekte_id', $record->id)->delete();
$this->record->refresh();
Notification::make()
->title('Tabelle geleert')
->success()
->send();
}),
])
->options(function ($record) {
return ['projekte_id' => $record->id];
})
->fileRules([
File::types(['csv', 'txt'])->max(1024),
]),
ImportAction::make('import_objekte')
->hidden(fn ($record): bool => $record->bezahlt_am ? false : true)
->importer(ProjektObjekteImDetailImporter::class)
->csvDelimiter('|')
->modalIcon('phosphor-file-csv')
->modalHeading('Dokument Objekte im Detail Import')
->modalContent(view('filament.pages.actions.import-objektemitraeumen'))
->modalContentFooter(view('filament.pages.actions.footer-allgemeinflaechen'))
->label('Objekte')
->icon('phosphor-upload')
->extraModalFooterActions([
Action::make('copy')
->tooltip('Kopiert die Spaltenname für die erste Zeile')
->color('success')
->label('Spalten Namen')
->action(function ($livewire) {
$livewire->js('window.navigator.clipboard.writeText("Top Nummer|Geschoss|Raumart|Fläche");');
Notification::make()
->title('Spaltenname kopiert')
->success()
->send();
}),
Action::make('delete')
->tooltip('Löscht alle Objekte für dieses Projekt')
->label('Tabellen leeren')
->color('danger')
->requiresConfirmation()
->action(function ($record) {
ProjektObjekte::where('projekte_id', $record->id)->delete();
$this->record->refresh();
Notification::make()
->title('Tabellen geleert')
->success()
->send();
}),
])
->options(function ($record) {
return ['projekte_id' => $record->id];
})
->fileRules([
File::types(['csv', 'txt'])->max(1024),
]),
])->label('Import')
->icon('phosphor-upload')
->color('info')
->button(),
/**
* FREISCHALTEN
* auth()->user()->konto->guthaben
@@ -2,12 +2,17 @@
namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Filament\Imports\ImportAllgemeinDirect;
use App\Models\ProjektAllgemeinflaechen;
use Filament\Actions\Action;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Notifications\Notification;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\Summarizers\Sum;
@@ -53,7 +58,7 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager
public function table(Table $table): Table
{
return $table
->emptyStateDescription('Schalten Sie das Projekt frei und importieren Sie die Daten der Allgemeinflächen.')
->emptyStateDescription('Bitte Projekt zuerst freischalten und dann die Daten der Allgemeinflächen hochladen.')
->striped()
->recordTitleAttribute('geschoss')
->columns([
@@ -75,6 +80,37 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager
->searchable(),
])
->headerActions([
Action::make('import-text')
->icon('phosphor-upload')
->hidden(fn (): bool => $this->ownerRecord->bezahlt_am ? false : true)
->modalIcon('phosphor-file-csv')
->color('info')
->label('Hochladen')
->modalHeading('Allgemeinflächen hochladen')
->modalDescription(new HtmlString('<b>Objekte werden immer hinzugefügt!</b><br/>Spalten-Separator ist der Strichpunkt ";" oder die Pfeife "|"'))
->schema([
Textarea::make('upload_data')
->required()
->label('Text hier einfügen:')
->extraInputAttributes(['onClick' => 'this.select()'])
->rows(5),
])
->action(function (array $data): void {
ImportAllgemeinDirect::run($data, $this->ownerRecord->id);
}),
Action::make('leeren')
->action(function () {
ProjektAllgemeinflaechen::where('projekte_id', $this->ownerRecord->id)->delete();
})
->icon('phosphor-trash')
->color('danger')
->requiresConfirmation()
->successNotification(
Notification::make()
->success()
->title('Allgemeinflächen gelöscht'),
),
CreateAction::make()
->icon('phosphor-file-plus')
->createAnother(false),
@@ -2,6 +2,7 @@
namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Filament\Imports\ImportObjekteDirect;
use App\Models\ProjektObjekteImDetail;
use Filament\Actions\Action;
use Filament\Actions\BulkActionGroup;
@@ -10,6 +11,7 @@ use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
@@ -68,7 +70,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
public function table(Table $table): Table
{
return $table
->emptyStateDescription('Schalten Sie das Projekt frei und importieren Sie die Daten der Objekte.')
->emptyStateDescription('Bitte Projekt freischalten und Daten hochladen.')
->striped()
->recordTitleAttribute('top_nummer')
->columns([
@@ -139,20 +141,40 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
])
->deferFilters(false)
->headerActions([
Action::make('import-text')
->icon('phosphor-upload')
->modalIcon('phosphor-file-csv')
->color('info')
->label('Hochladen')
->modalHeading('Objekte im Detail hochladen')
->modalDescription(new HtmlString('<b>Objekte werden immer hinzugefügt!</b><br/>Spalten-Separator ist der Strichpunkt ";" oder die Pfeife "|"'))
->schema([
Textarea::make('upload_data')
->required()
->label('Text hier einfügen:')
->extraInputAttributes(['onClick' => 'this.select()'])
->rows(5),
])
->action(function (array $data): void {
ImportObjekteDirect::run($data, $this->ownerRecord->id);
}),
CreateAction::make()
->icon('phosphor-file-plus')
->createAnother(false),
Action::make('nutzwerte')
->label('Nutzwerte')
->icon('phosphor-gear')
->icon('phosphor-calculator')
->action(function () {
$res = ProjektObjekteImDetail::with('methode')
->where('projekte_id', $this->getOwnerRecord()->id)
->get();
foreach ($res as $row) {
ProjektObjekteImDetail::where('id', $row->id)
->update(['nutzwert' => $row->flaeche * $row->methode->faktor]);
if ($row->methode?->faktor || null) {
ProjektObjekteImDetail::where('id', $row->id)
->update(['nutzwert' => $row->flaeche * $row->methode->faktor]);
}
}
})->after(function (Component $livewire) {
@@ -58,7 +58,7 @@ class ProjektObjekteRelationManager extends RelationManager
return $table
// ->striped()
->emptyStateDescription('Schalten Sie das Projekt frei und importieren Sie die Daten der Objekte.')
->emptyStateDescription(new HtmlString('Bitte Projekt freischalten und unter <b class="text-primary-600">Objekte im Detail</b> Daten hochladen.'))
->recordTitleAttribute('top_nummer')
->description(new HtmlString('<span class="flex gap-1.5">Orientierungen, Zu- und Abschläge, '.Blade::render('<x-lucide-locate-off class="w-3 h-3 mt-1" />').' Nicht in Orientierung</span>'))
->columns([
@@ -44,6 +44,7 @@ class AdminPanelProvider extends PanelProvider
->emailVerification()
->emailChangeVerification()
->databaseNotifications()
->databaseNotificationsPolling('30s')
->profile(isSimple: false)
->default()
->registration(Register::class)
+5 -5
View File
@@ -1,7 +1,7 @@
<?php return array (
'default' =>
array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/resources/svg' =>
'/Users/salam/Sites/nutzwerte_fi4/resources/svg' =>
array (
0 => 'excel',
1 => 'logo',
@@ -11,7 +11,7 @@
),
'heroicons' =>
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 (
0 => 'c-academic-cap',
1 => 'c-adjustments-horizontal',
@@ -1305,7 +1305,7 @@
),
'phosphor-icons' =>
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 (
0 => 'acorn-bold',
1 => 'acorn-duotone',
@@ -10383,7 +10383,7 @@
),
'filament' =>
array (
'/Users/hermanntelser/Sites/nutzwerte_fi4/vendor/filament/support/src/../resources/svg' =>
'/Users/salam/Sites/nutzwerte_fi4/vendor/filament/support/src/../resources/svg' =>
array (
0 => 'm-pencil-slash',
1 => 'o-align-center',
@@ -10430,7 +10430,7 @@
),
'lucide' =>
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 (
0 => 'a-arrow-down',
1 => 'a-arrow-up',
+22 -22
View File
@@ -70,9 +70,9 @@
),
'clusters' =>
array (
'/Users/hermanntelser/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/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
),
'clusteredComponents' =>
array (
@@ -97,7 +97,7 @@
),
'clusterDirectories' =>
array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters',
0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters',
),
'clusterNamespaces' =>
array (
@@ -105,9 +105,9 @@
),
'pages' =>
array (
'/Users/hermanntelser/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/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Administration/AdministrationCluster.php' => 'App\\Filament\\Clusters\\Administration\\AdministrationCluster',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Projekte/ProjekteCluster.php' => 'App\\Filament\\Clusters\\Projekte\\ProjekteCluster',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Clusters/Verwaltung/VerwaltungCluster.php' => 'App\\Filament\\Clusters\\Verwaltung\\VerwaltungCluster',
0 => 'Filament\\Pages\\Dashboard',
),
'pageConfigurations' =>
@@ -115,7 +115,7 @@
),
'pageDirectories' =>
array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Pages',
0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Pages',
),
'pageNamespaces' =>
array (
@@ -123,18 +123,18 @@
),
'resources' =>
array (
'/Users/hermanntelser/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/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Helps/HelpResource.php' => 'App\\Filament\\Resources\\Helps\\HelpResource',
'/Users/hermanntelser/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/hermanntelser/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/hermanntelser/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/hermanntelser/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/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources/Users/UserResource.php' => 'App\\Filament\\Resources\\Users\\UserResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php' => 'App\\Filament\\Resources\\Auftraggebers\\AuftraggeberResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Gutachters/GutachterResource.php' => 'App\\Filament\\Resources\\Gutachters\\GutachterResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Helps/HelpResource.php' => 'App\\Filament\\Resources\\Helps\\HelpResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Inhaltsverzeichnis/InhaltsverzeichnisResource.php' => 'App\\Filament\\Resources\\Inhaltsverzeichnis\\InhaltsverzeichnisResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/KontoTextblocks/KontoTextblockResource.php' => 'App\\Filament\\Resources\\KontoTextblocks\\KontoTextblockResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Kontos/KontoResource.php' => 'App\\Filament\\Resources\\Kontos\\KontoResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Methodes/MethodeResource.php' => 'App\\Filament\\Resources\\Methodes\\MethodeResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Orientierungs/OrientierungResource.php' => 'App\\Filament\\Resources\\Orientierungs\\OrientierungResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Permissions/PermissionResource.php' => 'App\\Filament\\Resources\\Permissions\\PermissionResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Projektes/ProjekteResource.php' => 'App\\Filament\\Resources\\Projektes\\ProjekteResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Textblocks/TextblockResource.php' => 'App\\Filament\\Resources\\Textblocks\\TextblockResource',
'/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources/Users/UserResource.php' => 'App\\Filament\\Resources\\Users\\UserResource',
0 => 'BezhanSalleh\\FilamentShield\\Resources\\Roles\\RoleResource',
),
'resourceConfigurations' =>
@@ -142,7 +142,7 @@
),
'resourceDirectories' =>
array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Resources',
0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Resources',
),
'resourceNamespaces' =>
array (
@@ -155,7 +155,7 @@
),
'widgetDirectories' =>
array (
0 => '/Users/hermanntelser/Sites/nutzwerte_fi4/app/Filament/Widgets',
0 => '/Users/salam/Sites/nutzwerte_fi4/app/Filament/Widgets',
),
'widgetNamespaces' =>
array (
+25 -25
View File
@@ -531,7 +531,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::rKcYFYxq66iyTy6k',
'_route' => 'generated::zXj1OrHfdPedCq53',
),
1 => NULL,
2 =>
@@ -551,7 +551,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::yK5CVRfU8mVGKJ7y',
'_route' => 'generated::6vcuPtD1iWunINoa',
),
1 => NULL,
2 =>
@@ -609,7 +609,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::OMFkFNUUPqJbGghK',
'_route' => 'generated::Jzp5jufvkDuCKQqi',
),
1 => NULL,
2 =>
@@ -629,7 +629,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::T2CBeTJ3Y5au3fTB',
'_route' => 'generated::xSdDkF8TLk6lZslQ',
),
1 => NULL,
2 =>
@@ -649,7 +649,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::q0ucPBmJRhhJdWJu',
'_route' => 'generated::aaWpPcmhf1lZCeN3',
),
1 => NULL,
2 =>
@@ -669,7 +669,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::W3VAdnMOWclqaIzO',
'_route' => 'generated::t6dwgim0taNT4YdB',
),
1 => NULL,
2 =>
@@ -689,7 +689,7 @@ app('router')->setCompiledRoutes(
array (
0 =>
array (
'_route' => 'generated::MSyQneC8KkRUCozm',
'_route' => 'generated::1kMCzd5dwnR5hqVH',
),
1 => NULL,
2 =>
@@ -2757,7 +2757,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::rKcYFYxq66iyTy6k' =>
'generated::zXj1OrHfdPedCq53' =>
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::rKcYFYxq66iyTy6k',
'as' => 'generated::zXj1OrHfdPedCq53',
),
'fallback' => false,
'defaults' =>
@@ -2785,7 +2785,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::yK5CVRfU8mVGKJ7y' =>
'generated::6vcuPtD1iWunINoa' =>
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::yK5CVRfU8mVGKJ7y',
'as' => 'generated::6vcuPtD1iWunINoa',
),
'fallback' => false,
'defaults' =>
@@ -2899,7 +2899,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::OMFkFNUUPqJbGghK' =>
'generated::Jzp5jufvkDuCKQqi' =>
array (
'methods' =>
array (
@@ -2909,7 +2909,7 @@ app('router')->setCompiledRoutes(
'uri' => 'up',
'action' =>
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;
try {
@@ -2924,11 +2924,11 @@ app('router')->setCompiledRoutes(
$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,
]), status: $exception ? 500 : 200);
}";s:5:"scope";s:54:"Illuminate\\Foundation\\Configuration\\ApplicationBuilder";s:4:"this";N;s:4:"self";s:32:"000000000000103e0000000000000000";}}',
'as' => 'generated::OMFkFNUUPqJbGghK',
'as' => 'generated::Jzp5jufvkDuCKQqi',
),
'fallback' => false,
'defaults' =>
@@ -2944,7 +2944,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::T2CBeTJ3Y5au3fTB' =>
'generated::xSdDkF8TLk6lZslQ' =>
array (
'methods' =>
array (
@@ -2966,7 +2966,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::T2CBeTJ3Y5au3fTB',
'as' => 'generated::xSdDkF8TLk6lZslQ',
),
'fallback' => false,
'defaults' =>
@@ -2982,7 +2982,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::q0ucPBmJRhhJdWJu' =>
'generated::aaWpPcmhf1lZCeN3' =>
array (
'methods' =>
array (
@@ -3004,7 +3004,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::q0ucPBmJRhhJdWJu',
'as' => 'generated::aaWpPcmhf1lZCeN3',
),
'fallback' => false,
'defaults' =>
@@ -3020,7 +3020,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::W3VAdnMOWclqaIzO' =>
'generated::t6dwgim0taNT4YdB' =>
array (
'methods' =>
array (
@@ -3042,7 +3042,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::W3VAdnMOWclqaIzO',
'as' => 'generated::t6dwgim0taNT4YdB',
),
'fallback' => false,
'defaults' =>
@@ -3058,7 +3058,7 @@ app('router')->setCompiledRoutes(
'waitSeconds' => NULL,
'withTrashed' => false,
),
'generated::MSyQneC8KkRUCozm' =>
'generated::1kMCzd5dwnR5hqVH' =>
array (
'methods' =>
array (
@@ -3080,7 +3080,7 @@ app('router')->setCompiledRoutes(
'where' =>
array (
),
'as' => 'generated::MSyQneC8KkRUCozm',
'as' => 'generated::1kMCzd5dwnR5hqVH',
),
'fallback' => false,
'defaults' =>
@@ -3220,7 +3220,7 @@ app('router')->setCompiledRoutes(
'uri' => 'storage/{path}',
'action' =>
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(
$disk,
$config,
@@ -3253,7 +3253,7 @@ app('router')->setCompiledRoutes(
'uri' => 'storage/{path}',
'action' =>
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:325:"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:325:"function (\\Illuminate\\Http\\Request $request, string $path) use ($disk, $config, $isProduction) {
return (new \\Illuminate\\Filesystem\\ReceiveFile(
$disk,
$config,
Generated
+9 -9
View File
@@ -11554,16 +11554,16 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "12.5.5",
"version": "12.5.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "a25bde1f8f83849f441ef5713c6466e470872a71"
"reference": "876099a072646c7745f673d7aeab5382c4439691"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a25bde1f8f83849f441ef5713c6466e470872a71",
"reference": "a25bde1f8f83849f441ef5713c6466e470872a71",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/876099a072646c7745f673d7aeab5382c4439691",
"reference": "876099a072646c7745f673d7aeab5382c4439691",
"shasum": ""
},
"require": {
@@ -11618,7 +11618,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.5"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.6"
},
"funding": [
{
@@ -11638,7 +11638,7 @@
"type": "tidelift"
}
],
"time": "2026-04-13T04:53:32+00:00"
"time": "2026-04-15T08:23:17+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -13186,12 +13186,12 @@
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
"php": "^8.3"
},
"platform-dev": [],
"plugin-api-version": "2.6.0"
"platform-dev": {},
"plugin-api-version": "2.9.0"
}