'required|min:1', 'richiestaData' => 'required|date', 'richiestaConsegna' => 'required|date', ]; } protected function getRichiestaMessages(){ return [ 'richiestaData.required' => 'Il campo data richiesta è obbligatorio.', 'richiestaData.date' => 'Il campo data richiesta deve essere una data valida.', 'richiestaConsegna.required' => 'Il campo data consegna è obbligatorio.', 'richiestaConsegna.date' => 'Il campo data consegna deve essere una data valida.', ]; } public function saveRichiesta(){ $this->validate($this->getRichiestaRules(), $this->getRichiestaMessages()); if ($this->richiestaId > 0) { $this->updateExistingRichiesta(); } else { $this->createNewRichiesta(); } $this->resetRichiestaFields(); $this->refreshRichieste(); } protected function updateExistingRichiesta(){ ReportRichiesta::where('id', $this->richiestaId)->update([ 'anagrafica_id' => $this->richiestaAnagrafica, 'data_richiesta' => $this->richiestaData, 'consegna_richiesta' => $this->richiestaConsegna, 'description' => $this->richiestaText, 'state' => 0 ]); } protected function createNewRichiesta(){ ReportRichiesta::create([ 'report_id' => $this->dataId, 'anagrafica_id' => $this->richiestaAnagrafica, 'data_richiesta' => $this->richiestaData, 'consegna_richiesta' => $this->richiestaConsegna, 'description' => $this->richiestaText, 'state' => 0, 'created' => date("Y-m-d H:i:s"), 'created_by' => 0 ]); } protected function resetRichiestaFields(){ $this->richiestaId = 0; $this->richiestaAnagrafica = 0; $this->richiestaData = null; $this->richiestaConsegna = null; $this->richiestaText = ''; } protected function refreshRichieste(){ $this->richieste = ReportRichiesta::where('report_id', $this->dataId)->get(); } public function editRichiesta($id){ $richiesta = ReportRichiesta::where('id', $id)->first(); if ($richiesta) { $this->richiestaId = $id; $this->richiestaAnagrafica = $richiesta->anagrafica_id; $this->richiestaData = $richiesta->data_richiesta; $this->richiestaConsegna = $richiesta->consegna_richiesta; $this->richiestaText = $richiesta->description; } } public function removeRichiesta($id){ ReportRichiesta::findOrFail($id)->delete(); $this->refreshRichieste(); } }