Versión 3.8.0. Guardar carrera

Buenos días. Estamos en la versión 3.8.0 de Preinscripción y detectamos el siguiente inconveniente.

Si en el div que se abre al seleccionar la carrera a inscribirse se presiona la tecla guardar varias veces, se crea un registro en la tabla sga_propuestas_preinscripción por cada vez que se presiona guardar. En la impresión luego sale una sola carrera pero en el momento de inscribirlo por Gestión aparecen repetidas. Tenemos varios casos con 2, 3, 4 o más inscripciones a una misma carrera.
Muchas gracias!

Buenos días ¿Podrían compartir una captura de pantalla del div con la tecla de mencionan?

Gracias.

Hola José,

En el archivo Pant1 se muestra el popup de inscripción a carrera. Ahí al guardar presioné varias veces el botón guardar, antes que terminara de cargar
En el archivo Pant2 se ve que el alumno quedó inscripto a la carrera luego de seleccionarla
En el archivo Pant3 se ve la cantidad de registros que esto generó en la BBDD. (id_preinscripcion nro 37)
gracias!


pant1.png

pant1.png

pant2.png

pant2.png

pant3.png

pant3.png

Hola Laura,

Por lo que veo esto ocurre si hacen click varias veces en el botón “Aceptar” del popup de selección de propuestas.

Probemos con la siguiente solución, personalicen la función inicializar_popup que esta en el archivo src/siu/operaciones/censo/propuesta/pagelet_propuesta.js, debería quedar como sigue:


    function inicializar_popup()
    {
        registrar_cascadas();

        $('#guardar_propuesta').on("click", function (event) {

            event.preventDefault();
            
            $(this).attr('disabled', true);
            $(this).prop('disabled', true);
            $(this).addClass('disabled');

            if (validar()) {
                $('#form_propuesta').submit();
                cerrar_popup();
                return true;
            } else {
                $(this).attr('disabled', false);
                $(this).prop('disabled', false);
                $(this).removeClass('disabled');
                return false;
            }

        });
    }

Si con eso funciona por favor avisen así lo incorporamos a la siguiente versión.

Referencia: http://javascript-coder.com/jsform/jquery-disable-button-on-click-submit.phtml

saludos.

Hola buenos días, revivo este tema porque empezamos a tener este inconveniente en nuestra base.
Utilice la solución brindada y no me funcionó, cuando presiono aceptar no hace nada…
Solamente le agregué cerrar_popup(); y me funcionó.
También estaría bueno agregar un control en la base de datos que no permita duplicar id_preiscripción, carrera.

Saludos y muchas gracias.

Me quedó así,

    function inicializar_popup()
{
	registrar_cascadas();
	
	$('#form_propuesta').submit(function() {
		
	       cerrar_popup();
		
		if (validar()) {
			return true;
		} else {
			return false;
		}
	});
}

Hola Facundo,

Es extraño que no les haya funcionada, ¿que error les arroja la solución propuesta?

Lo que hace la solución es simplemente deshabilitar el botón “Aceptar”, si sale todo bien cierra el popup, si falla muestra el error y vuelve a habilitar el botón para volver a intentar.

Igualmente la solución de ustedes es valida, lo único que cambiaría seria el cerrar_popup(); dentro del if, y usar el evento on en lugar de submit:


        $(document).on('submit', '#form_propuesta', function () {
            
            if (validar()) {
                cerrar_popup();
                return true;
            } else {
                return false;
            }
        });

También estaría bueno agregar un control en la base de datos que no permita duplicar id_preiscripción, carrera.
Lo vamos a tener en cuenta para la próxima versión.

saludos.

Hola Leonel, gracias por contestar y te pido disculpas.
Lo probé nuevamente y funciona la solución que nos enviaron, seguramente algo mal nos había quedado…

Muchas gracias!

Hola Facundo,

Me alegro que les haya funcionado!!!

saludos.