Symfony - Problemas de ruta al añadir algunos caracteres

 
Vista:
sin imagen de perfil
Val: 2
Ha mantenido su posición en Symfony (en relación al último mes)
Gráfica de Symfony

Problemas de ruta al añadir algunos caracteres

Publicado por Gonz (3 intervenciones) el 26/08/2020 12:53:55
Buenos días,

Tengo el siguiente problema, tengo una pagina en la que con un formulario simple se crean incidencias, en estas incidencias se pueden añadir comentarios una vez creadas.

Mi problema es que algunos caracteres hacen que me de un error de ruta "No route found for "GET /incidencias_add_obs/293/2/2"

No me deja añadir algunos caracteres como por ejemplo "/,%,$,+"

Controller:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public function incidencias_add_obsAction(IncidenciasIncidencias $incidencia, IncidenciasEstados $estado, $obs, $redireccion)
{
    if($this->get('funciones')->tienePermiso(25,$this) || $this->get('funciones')->tienePermiso(32,$this)){
 
        $nuevaobsinc = new IncidenciasAcciones();
 
        try {
            $em = $this->getDoctrine()->getManager();
            $user = $this->get('security.token_storage')->getToken()->getUser();
            $nuevaobsinc->setIncidencia($incidencia)->setFechor(new \DateTime())->setObservaciones($obs)->setUsuario($user);
            $incidencia->setEstado($estado);
            $em->persist($incidencia);
            $em->persist($nuevaobsinc);
            $em->flush();
            $this->get('session')->getFlashBag()->add('notice','Se han añadido las observaciones para la incidencia '.$incidencia->getId(). ' y cambiado su estado a '.$estado->getNombre().'.');
 
        } catch (\Exception $e) {
            if(get_class($e) != "Doctrine\DBAL\Exception\UniqueConstraintViolationException" && get_class($e))
                $this->get('session')->getFlashBag()->add('error','ERROR: Ha ocurrido un error insertando los datos. '.$e);
        }
        if($redireccion == 2)
            return $this->redirect($this->generateUrl('incidencias', array('id' => $incidencia->getMotivo()->getClase()->getTipo()->getId())));
        else
 
            if($redireccion == 1)
                return $this->redirect($this->generateUrl('incidencias_admin', array('id' => $incidencia->getMotivo()->getClase()->getTipo()->getId())));
            else
 
                return $this->redirect($this->generateUrl('incidencias_responsable', array('id' => $incidencia->getMotivo()->getClase()->getTipo()->getId())));
    }
    else throw new AccessDeniedException();
}

Vista:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{% block javascripts %}
<script>
    function addObs(id){
        $('#incidenciaid3').val(id);
        $("#myModal3").modal("toggle");
    }
    $('#botonguardar').on('click', function() {
        $("#myModal3").modal("toggle");
        var url = "{{path('incidencias_add_obs', {'incidencia': 'incidenciaid3','estado': 2,'obs': '/','redireccion': 2 })}}";
        url = url.replace("incidenciaid3", $('#incidenciaid3').val());
        if($('#obs').val() == "")
            url = url.replace("valorobs", "Ninguna observación añadida.");
        else
            url = url.replace("valorobs", $('#obs').val());
        window.location.href = url;
    });
</script>
{% endblock %}


Ruta:

1
2
3
incidencias_add_obs:
    path:     /incidencias_add_obs/{incidencia}/{estado}/{obs}/{redireccion}
    defaults: { _controller: mainBundle:Incidencias:incidencias_add_obs }


El codigo que tengo es este, no sabría donde añadir que hiciera la excepción con estos caracteres que no me deja insertar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2
Ha mantenido su posición en Symfony (en relación al último mes)
Gráfica de Symfony

Problemas de ruta al añadir algunos caracteres

Publicado por Gonz (3 intervenciones) el 26/08/2020 17:25:10
Poniendo esto en la "ruta" me hace el insert del comentario.

requirements:
name: ".+"


Pero solo para el caracter "/" , los demas caracteres me siguen dando error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar