public function edit() { $idReserva = NULL; $_POST[$this->Reserva->name]['id'] = $_SESSION['Form']['reservas_id']; /** * recupero o id do meu cliente */ $cliente = $this->Cliente->find('first', array('md5(id)' => $_POST[$this->Reserva->name]['clientes_id'])); $_POST[$this->Reserva->name]['clientes_id'] = $cliente[0]['Cliente']['id']; $_POST[$this->Reserva->name]['title'] = $cliente[0]['Cliente']['nome']; $_POST[$this->Reserva->name]['status'] = 1; $_POST[$this->Reserva->name]['token'] = Authentication::uuid(); /** * trabalho com as datas para ficar no padrão do fullcalendar */ $dataCallendar = Utils::convertDataSemHora(trim($_POST[$this->Reserva->name]['data'])) . ' ' . $_POST[$this->Reserva->name]['hora']; $_POST[$this->Reserva->name]['start'] = $dataCallendar; $_POST[$this->Reserva->name]['end'] = Utils::adicionaHora(1, $dataCallendar); /** * retiro as mesas do node central */ $mesas = $_POST[$this->Reserva->name]['mesas_id']; unset($_POST[$this->Reserva->name]['mesas_id']); /** * retiro os ambientes */ $ambientes = $_POST[$this->Reserva->name]['ambientes_id']; unset($_POST[$this->Reserva->name]['ambientes_id']); $_POST[$this->Reserva->name]['empresas_id'] = $this->empresas_id; $_POST[$this->Reserva->name]['pessoas_id'] = $this->pessoas_id; //unset($_POST['Reserva']); $this->Reserva->data = $_POST[$this->Reserva->name]; unset($_POST[$this->Reserva->name]['data']); unset($_POST[$this->Reserva->name]['hora']); //Utils::pre($_POST); exit; try { /** * validacoes do formulario */ if ($this->Reserva->validates()) { $modelMesa = new Mesa(); $modelMesa->mesasAmbientesVerify($_POST[$this->Reserva->name]['id'], $_POST[$this->Reserva->name]['start'], $mesas); $this->Reserva->genericUpdate($_POST[$this->Reserva->name]); $idReserva = $_SESSION['Form']['reservas_id']; unset($_SESSION['Form']['reservas_id']); /** * gravar mesas * a regra na edição é deletar todas a mesas da reserva e depois inserir novamente */ $this->Reserva->deletaMesas($idReserva); $this->Reserva->mesasReservas($mesas, $idReserva, $_POST[$this->Reserva->name]['start']); $this->Reserva->deletaAmbientes($idReserva); $this->Reserva->AmbientesReservas($ambientes, $idReserva); echo json_encode(array('funcao' => "sucessoForm( 'Sua alteração efetuada com sucesso!', '#ReservaAddForm' ); " . "filtrarReservas( '' , '{$_POST[$this->Reserva->name]['start']}', '' ); " . "disponibilidadeDeMesas( '{$_POST[$this->Reserva->name]['start']}' );" . "\$('#ModalFormulario').modal('hide');" . "\$('#loading').fadeOut(500);")); } else { echo json_encode(array('erros' => $this->Reserva->validateErros, 'form' => 'ReservaAddForm')); } } catch (SystemException $ex) { echo $ex->getErrorJson('#ReservaAddForm'); } catch (Exception $e) { $json = json_encode(array('message' => $e->getMessage(), "style" => 'warning', 'time' => 5000, 'size' => 'md', 'callback' => NULL, 'before' => "\$('#loading').fadeOut(200);", 'icon' => 'check', 'title' => 'Atenção leia as instruções!')); echo json_encode(array('funcao' => "bootsAlert( {$json} );")); } }