Files
FilamentLaravel/app/Livewire/Calculationpreset/EditCalculationpreset.php
T

65 lines
2.1 KiB
PHP

<?php
namespace App\Livewire\Calculationpreset;
use Livewire\Attributes\Validate;
use Livewire\Component;
use App\Models\Calculationpreset as Model;
use Livewire\Attributes\title;
#[title('Edit Calculationpreset')]
class EditCalculationpreset extends Component
{
public Model $calculationpreset ;
public string $name = '';
public string $description = '';
public float $price_kwh = 0;
public float $factor_printer = 0;
public float $factor_maintenance = 0;
public float $factor_price = 0;
#[Validate('required')]
public function save(){
$this->validate([
'name' => ['required', 'string', 'max:255'],
'description' => ['nullable', 'string', 'max:255'],
'price_kwh' => ['required', 'numeric'],
'factor_printer' => ['nullable', 'numeric'],
'factor_maintenance' => ['nullable', 'numeric'],
'factor_price' => ['nullable', 'numeric']
]);
$this->calculationpreset->update([
'name' => $this->name,
'description' => $this->description,
'price_kwh' => $this->price_kwh,
'factor_printer' => $this->factor_printer,
'factor_maintenance' => $this->factor_maintenance,
'factor_price' => $this->factor_price
]);
return $this->redirectRoute('calculationpresets.show', $this->calculationpreset->id, navigate: true);
}
public function cancel(){
return $this->redirectRoute('calculationpresets.index', navigate: true);
}
public function mount(Model $calculationpreset){
$this->calculationpreset = $calculationpreset;
$this->name = $calculationpreset->name;
$this->description = $calculationpreset->description;
$this->price_kwh = $calculationpreset->price_kwh;
$this->factor_printer = $calculationpreset->factor_printer;
$this->factor_maintenance = $calculationpreset->factor_maintenance;
$this->factor_price = $calculationpreset->factor_price;
}
public function render()
{
return view('livewire.calculationpreset.create', [
]);
}
}