This commit is contained in:
salam committed 2025-10-06 13:32:40 +02:00
1 parent 313d47e902
commit 0df1017cb7
4 files changed
+50 -9

No files matched your search

@@ -0,0 +1,21 @@
<?php
namespace App\Actions;
use App\Models\OrientierungZuAbschlaege;
use App\Models\Raeumealle;
class CreateOrientierungZuAbschlaege
{
public function create($record)
{
OrientierungZuAbschlaege::where('projekte_id', $record->id)->delete();
$raeumealles = Raeumealle::where('projekte_id', $record->id)->get();
foreach ($raeumealles as $raeumealle) {
OrientierungZuAbschlaege::firstOrCreate([
'projekte_id' => $record->id,
'top_nummer' => $raeumealle->top_nummer,
]);
}
}
}
@@ -44,8 +44,9 @@ class AllgemeinflaechenImporter extends Importer
return iconv(mb_detect_encoding($state, mb_detect_order(), true), 'UTF-8', $state);
}),
ImportColumn::make('flaeche')
->label('Fläche')
->validationAttribute('Fläche')
->rules(['required'])
->rules(['required', 'max:32'])
->example('52,75')
->castStateUsing(function (string $state): ?float {
if (blank($state)) {
@@ -2,11 +2,13 @@
namespace App\Filament\Resources\Projektes\RelationManagers;
use App\Actions\CreateOrientierungZuAbschlaege;
use Filament\Actions\Action;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Table;
class OrientierungZuAbschlaegesRelationManager extends RelationManager
@@ -28,14 +30,23 @@ class OrientierungZuAbschlaegesRelationManager extends RelationManager
->columns([
TextColumn::make('top_nummer')
->searchable(),
TextInputColumn::make('raumart')
->rules(['required'])
->searchable(),
])
->filters([
//
])
->headerActions([
CreateAction::make(),
])
->recordActions([
Action::make('erstellen')
->action(fn (CreateOrientierungZuAbschlaege $createOrientierungZuAbschlaege) => $createOrientierungZuAbschlaege->create($this->ownerRecord))
->requiresConfirmation()
->modalHeading('Orientierung Zu/Abschläge erstellen')
->modalDescription('Alle bestehenden Daten in dieser Tabelle werden vorher gelöscht.')
->modalSubmitActionLabel('Erstellen')
->label('Erstellen')
->tooltip('Daten werden aus "Orientierung Zu/Abschläge" Tabelle gefiltert.')
->icon('heroicon-o-cog-8-tooth'),
])
->toolbarActions([
BulkActionGroup::make([
+12 -4
View File
@@ -7,12 +7,20 @@ use Illuminate\Database\Eloquent\Model;
class OrientierungZuAbschlaege extends Model
{
protected $fillable = [
'methode_id',
'projekte_id',
'orientierung_id',
'nicht_in_orientierung',
'top_nummer',
'geschoss',
'raumart',
'faktor',
'flaeche',
'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
];
}