wip
This commit is contained in:
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)) {
|
||||
|
||||
+15
-4
@@ -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([
|
||||
|
||||
@@ -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',
|
||||
];
|
||||
}
|
||||
Reference in new issue
Block a user