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);
|
return iconv(mb_detect_encoding($state, mb_detect_order(), true), 'UTF-8', $state);
|
||||||
}),
|
}),
|
||||||
ImportColumn::make('flaeche')
|
ImportColumn::make('flaeche')
|
||||||
|
->label('Fläche')
|
||||||
->validationAttribute('Fläche')
|
->validationAttribute('Fläche')
|
||||||
->rules(['required'])
|
->rules(['required', 'max:32'])
|
||||||
->example('52,75')
|
->example('52,75')
|
||||||
->castStateUsing(function (string $state): ?float {
|
->castStateUsing(function (string $state): ?float {
|
||||||
if (blank($state)) {
|
if (blank($state)) {
|
||||||
|
|||||||
+15
-4
@@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
namespace App\Filament\Resources\Projektes\RelationManagers;
|
namespace App\Filament\Resources\Projektes\RelationManagers;
|
||||||
|
|
||||||
|
use App\Actions\CreateOrientierungZuAbschlaege;
|
||||||
|
use Filament\Actions\Action;
|
||||||
use Filament\Actions\BulkActionGroup;
|
use Filament\Actions\BulkActionGroup;
|
||||||
use Filament\Actions\CreateAction;
|
|
||||||
use Filament\Actions\DeleteBulkAction;
|
use Filament\Actions\DeleteBulkAction;
|
||||||
use Filament\Resources\RelationManagers\RelationManager;
|
use Filament\Resources\RelationManagers\RelationManager;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Columns\TextInputColumn;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
|
|
||||||
class OrientierungZuAbschlaegesRelationManager extends RelationManager
|
class OrientierungZuAbschlaegesRelationManager extends RelationManager
|
||||||
@@ -28,14 +30,23 @@ class OrientierungZuAbschlaegesRelationManager extends RelationManager
|
|||||||
->columns([
|
->columns([
|
||||||
TextColumn::make('top_nummer')
|
TextColumn::make('top_nummer')
|
||||||
->searchable(),
|
->searchable(),
|
||||||
|
TextInputColumn::make('raumart')
|
||||||
|
->rules(['required'])
|
||||||
|
->searchable(),
|
||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
//
|
//
|
||||||
])
|
])
|
||||||
->headerActions([
|
->headerActions([
|
||||||
CreateAction::make(),
|
Action::make('erstellen')
|
||||||
])
|
->action(fn (CreateOrientierungZuAbschlaege $createOrientierungZuAbschlaege) => $createOrientierungZuAbschlaege->create($this->ownerRecord))
|
||||||
->recordActions([
|
->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([
|
->toolbarActions([
|
||||||
BulkActionGroup::make([
|
BulkActionGroup::make([
|
||||||
|
|||||||
@@ -7,12 +7,20 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
class OrientierungZuAbschlaege extends Model
|
class OrientierungZuAbschlaege extends Model
|
||||||
{
|
{
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'methode_id',
|
'projekte_id',
|
||||||
'orientierung_id',
|
'orientierung_id',
|
||||||
|
'nicht_in_orientierung',
|
||||||
'top_nummer',
|
'top_nummer',
|
||||||
'geschoss',
|
|
||||||
'raumart',
|
'raumart',
|
||||||
'faktor',
|
'a',
|
||||||
'flaeche',
|
'b',
|
||||||
|
'c',
|
||||||
|
'd',
|
||||||
|
'e',
|
||||||
|
'f',
|
||||||
|
'g',
|
||||||
|
'h',
|
||||||
|
'i',
|
||||||
|
'j',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user