Files

56 lines
1.7 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('Create Calculationpreset')]
class CreateCalculationpreset 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']
]);
$calculationpreset = new Model();
$calculationpreset->name = $this->name;
$calculationpreset->description = $this->description;
$calculationpreset->price_kwh = $this->price_kwh;
$calculationpreset->factor_printer = $this->factor_printer;
$calculationpreset->factor_maintenance = $this->factor_maintenance;
$calculationpreset->factor_price = $this->factor_price;
$calculationpreset->save();
return $this->redirectRoute('calculationpresets.show', $calculationpreset->id, navigate: true);
}
public function cancel(){
return $this->redirectRoute('calculationpresets.index', navigate: true);
}
public function render()
{
return view('livewire.calculationpreset.create', [
]);
}
}