'required', 'polizza_num' => 'required', 'valida_dal' => 'required', 'valida_al' => 'required', 'anagrafica_id' => 'required' ]; } public function getPolizza($polizza){ if ($polizza > 0) { $ret = Polizza::with('compagnia')->with('anagrafica')->findOrFail($polizza); return $ret->agenzia . " " . ($ret->compagnia ? $ret->compagnia->name : '') . " " . ($ret->anagrafica ? ($ret->anagrafica->lastname . " " . $ret->anagrafica->firstname) : ''); } return ""; } public function addPolizza(){ $this->resetPolizza(); $this->currentPolizza = 99; $this->emit('load-polizza-modal'); } public function removePolizza(){ $vehicle = ReportDataVeicoli::find($this->veicolo_id); if ($vehicle) { $vehicle->polizze = null; $vehicle->save(); } $this->data_polizze = 0; $this->emit('add-default-value', $this->data_polizze, '', 'data_polizze'); } public function editPolizza(){ $this->currentPolizza = $this->data_polizze; $this->editPolizzaData($this->data_polizze); $this->emit('load-polizza-modal'); } public function savePolizza() { $this->validate($this->getPolizzaRules()); $polizza = Polizza::create([ 'anagrafica_id' => $this->anagrafica_id, 'compagnia_id' => $this->compagnia_id, 'agenzia' => $this->agenzia, 'polizza_num' => $this->polizza_num, 'valida_dal' => $this->valida_dal, 'valida_al' => $this->valida_al, ]); $this->data_polizze = $polizza->id; $vehicle = ReportDataVeicoli::find($this->veicolo_id); if ($vehicle) { $vehicle->polizze = $this->data_polizze; $vehicle->save(); } $this->dispatchBrowserEvent('hide-polizza-modal'); $this->emit('polizza-saved', $polizza->id, $this->getPolizza($polizza->id)); } private function resetPolizza(){ $this->compagnia_id = null; $this->agenzia = null; $this->polizza_num = null; $this->valida_dal = null; $this->valida_al = null; $this->anagrafica_id = null; } public function cleanPolizzaData(){ $this->resetPolizza(); $this->currentPolizza = null; } private function editPolizzaData($id){ if ($id) { $polizza = Polizza::with(['anagrafica', 'compagnia'])->find($id); if ($polizza) { $this->compagnia_id = $polizza->compagnia_id; $this->agenzia = $polizza->agenzia; $this->polizza_num = $polizza->polizza_num; $this->valida_dal = $polizza->valida_dal; $this->valida_al = $polizza->valida_al; $this->anagrafica_id = $polizza->anagrafica_id; $this->emit('updatePolizzaSelects', [ 'anagrafica' => [ 'id' => $polizza->anagrafica_id, 'text' => $this->getAnagrafica($polizza->anagrafica_id) ], 'compagnia' => [ 'id' => $polizza->compagnia_id, 'text' => $polizza->compagnia ? $polizza->compagnia->name : '' ], 'agenzia' => $polizza->agenzia ]); } } } public function addAnagraficaPolizza(){ $this->resetAnagrafica(); $this->currentAnagrafica = 99; $this->modalType = 'polizza'; $this->emit('load-anagrafica-modal'); } public function removeAnagraficaPolizza(){ $this->anagrafica_id = 0; $this->emit('add-default-value', $this->anagrafica_id, '', 'anagrafica_id'); } public function editAnagraficaPolizza(){ $this->currentAnagrafica = $this->anagrafica_id; $this->modalType = 'polizza'; $this->editAnagrafica($this->anagrafica_id); $this->emit('load-anagrafica-modal'); } }