65 lines
2.1 KiB
PHP
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', [
|
|
]);
|
|
}
|
|
}
|