Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
9501ff38d9
commit
38bcf60778
1 file changed
+25
-4
@@ -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')
|
||||
@@ -58,17 +60,36 @@ class SpiceSupplierResource extends Resource
|
||||
}),
|
||||
Select::make('supplier_id')
|
||||
->label('Lieferant')
|
||||
->relationship('supplier', 'name')
|
||||
->relationship('supplier', 'name')
|
||||
->required()
|
||||
->preload()
|
||||
->preload()
|
||||
->searchable(),
|
||||
|
||||
TextInput::make('amount')
|
||||
->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')
|
||||
|
||||
Reference in new issue
Block a user