Rohstofflieferung: unit suffix, enter kg stored as grams
Deploy / deploy (push) Successful in 15s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Malek TellissiandClaude Sonnet 4.6 committed 2026-09-13 01:06:54 +02:00
1 parent 9501ff38d9
commit 38bcf60778
1 file changed
+23 -2
@@ -15,6 +15,7 @@ use Illuminate\Database\Eloquent\SoftDeletingScope;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Get;
use Filament\Forms\Components\DatePicker;
@@ -41,6 +42,7 @@ class SpiceSupplierResource extends Resource
->required()
->preload()
->searchable()
->live()
->createOptionForm([
TextInput::make('name')->label('Name')->required()->maxLength(255),
Forms\Components\Select::make('unit')
@@ -67,8 +69,27 @@ class SpiceSupplierResource extends Resource
->label('Liefermenge')
->numeric()
->required()
->rules(['min:0.01'])
->disabled(fn($record) => !is_null($record)),
->rules(['min:0.001'])
->disabled(fn($record) => !is_null($record))
->suffix(function (Get $get) {
$unit = \App\Models\Spice::find($get('spice_id'))?->unit;
return match($unit) {
'grams' => 'kg',
'pieces' => 'Stück',
'liter' => 'Liter',
default => null,
};
})
->formatStateUsing(function ($state, $record) {
if ($record?->spice?->unit === 'grams') {
return round($state / 1000, 3);
}
return $state;
})
->dehydrateStateUsing(function ($state, Get $get) {
$unit = \App\Models\Spice::find($get('spice_id'))?->unit;
return $unit === 'grams' ? (float) $state * 1000 : $state;
}),
DatePicker::make('supplied_at')
->label('Lieferdatum')