/**
  * 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;
     }
 }