public function nuevoreclamoAction() { //Obtenemos datos post $data = $this->request->getPost(); //Conectamos con BBDD $sid = new Container('base'); $db_name = $sid->offsetGet('dbNombre'); $this->dbAdapter = $this->getServiceLocator()->get($db_name); //Instancias $recl = new ReclamoTable($this->dbAdapter); $Ast = new AsuntoTable($this->dbAdapter); $Destinatario = new DestinatarioTable($this->dbAdapter); $recl->nuevoReclamo($data); //Cargamos Formulario $form = new ReclamoForm("form"); $form->get('id_asunto')->setAttribute('options', $Ast->GetAsuntoReclamo()); $form->get('id_reseptor')->setAttribute('options', $Destinatario->GetDestinatarioReclamo()); $form->get('id_unidad')->setAttribute('value', $sid->id_unidad); $form->get('id_usuario')->setAttribute('value', $sid->id_usuario); // if ($data['mensaje']!=""){ if (!isset($_POST) || !empty($_POST)) { $desc = "Su " . $data->ReclamoSugerencia . " Fue exitozamente guadada"; //Retornamos a la vista $result = new JsonModel(array('data' => $data, 'status' => 'ok', 'desc' => $desc)); return $result; } else { //Retornamos a la vista $result = new ViewModel(array('form' => $form)); $result->setTerminal(true); return $result; } }
public function nuevoAction() { $this->layout('layout/conserje'); $this->layout()->reclamo = "active"; $this->layout()->reclamonuevo = "active"; //$this->dbAdapter=$this->getServiceLocator()->get('Zend\Db\Adapter'); $sid = new Container('base'); $db_name = $sid->offsetGet('dbNombre'); $id_db = $sid->offsetGet('id_db'); $this->dbAdapter = $this->getServiceLocator()->get($db_name); $reclamo = new ReclamoTable($this->dbAdapter); //id =0 [Insertar Reclamo] // id > 0 [Actualizar Reclamo] $id = (int) $this->params()->fromRoute('id', 0); if ($this->getRequest()->isPost()) { $lista = $this->request->getPost(); //valor fijo, debe ser dinamico o recuperado de la sesion $lista['id_usuario'] = '1'; $id_pk = (int) $lista['id_pk']; //Inserta o Actualizar Reclamo if ($id_pk > 0) { $reclamo->actualizarReclamo($id_pk, $lista); } else { $reclamo->nuevoReclamo($lista); } return $this->forward()->dispatch('Conserje\\Controller\\Reclamo', array('action' => 'respuesta')); //return $this->redirect()->toUrl($this->getRequest()->getBaseUrl().'/conserje/reclamo/consultar'); } else { $form = new ReclamoForm("form"); //cargamos el combobox de dpto $sid = new Container('base'); $usuario_id = $sid->offsetGet('id_usuario'); $dpto = new UnidadTable($this->dbAdapter); $nmrodpto = $dpto->getDptoUsuario($usuario_id); $form->get('id_dpto')->setAttribute('value', $nmrodpto['0']['nombre']); //cargamod el combobox de tipo asunto $asunto = new TipoAsuntoTable($this->dbAdapter); $form->get('id_tipo_asunto')->setAttribute('options', $asunto->getDatosActivos()); if ($id > 0) { $titulo = "Actualizar Reclamo"; $recuperaDatos = $reclamo->getReclamos($this->dbAdapter, $id); $form->get('id_pk')->setAttribute('value', $id); $form->get('id_dpto')->setAttribute('value', $recuperaDatos[0]['id_unidad']); $form->get('id_tipo_asunto')->setAttribute('value', $recuperaDatos[0]['id_tipo_asunto']); $form->get('receptor')->setAttribute('value', $recuperaDatos[0]['receptor']); $form->get('descripcion')->setAttribute('value', $recuperaDatos[0]['descripcion']); } else { $titulo = "Nuevo Reclamo"; } } $valores = array('form' => $form, 'url' => $this->getRequest()->getBaseUrl(), "titulo" => $titulo); return new ViewModel($valores); }