/** * Edita, actualiza o borrar un registro * * Viene siempre por POST * Actualiza o Borrar segĂșn el valor de $this->request['accion'] * * @return array con el template y valores a renderizar */ public function editFormAction() { $this->values['linkBy']['id'] = 'IdFirma'; //COGER DEL REQUEST EL LINK A LA ENTIDAD PADRE if ($this->values['linkBy']['id'] != '') { $this->values['linkBy']['value'] = $this->request[$this->entity][$this->values['linkBy']['id']]; } switch ($this->request['accion']) { case 'G': //GUARDAR DATOS if ($this->values['permisos']['permisosModulo']['UP']) { $datos = new Familias($this->request['Familias']['Id']); $datos->bind($this->request[$this->entity]); if ($datos->valida(array())) { $datos->save(); $this->values['errores'] = $datos->getErrores(); $this->values['alertas'] = $datos->getAlertas(); //Recargo el objeto para refrescar las propiedas que //hayan podido ser motivo de algun calculo durante el proceso //de guardado. $datos = new Familias($this->request['Familias']['Id']); } else { $this->values['errores'] = $datos->getErrores(); $this->values['alertas'] = $datos->getAlertas(); } $this->values['datos'] = $datos; unset($datos); return $this->listFormAction($this->values['linkBy']['value']); } else { return array('template' => '_global/forbiden.html.twig'); } break; case 'B': //BORRAR DATOS if ($this->values['permisos']['permisosModulo']['DE']) { $datos = new Familias($this->request['Familias']['Id']); if ($datos->erase()) { $datos = new $this->entity(); $this->values['datos'] = $datos; $this->values['errores'] = array(); } else { $this->values['datos'] = $datos; $this->values['errores'] = $datos->getErrores(); } unset($datos); return $this->listFormAction($this->values['linkBy']['value']); } else { return array('template' => '_global/forbiden.html.twig'); } break; } }