Loading Cargas/Docentes/__pycache__/views.cpython-39.pyc +8 B (8.03 KiB) File changed.No diff preview for this file type. View original file View changed file Cargas/Docentes/views.py +7 −6 Original line number Diff line number Diff line Loading @@ -240,6 +240,7 @@ def leerXLS(request,archivo,filas_errores,texto_errores,unidad): df = pd.read_excel(archivo) # normalizamos las columanas para evitar errores en la lectura df.columns = df.columns.str.lower() print(df) # Validar que no haya valores nulos en el DataFrame if df.isnull().values.any(): messages.error(request, 'El archivo CSV contiene valores faltantes. Por favor, verifica y vuelve a intentarlo.') Loading @@ -248,16 +249,16 @@ def leerXLS(request,archivo,filas_errores,texto_errores,unidad): for indice, fila in df.iterrows(): # Utiliza el formulario para validar los datos sni = fila['sni'] if sni=='N/A': sni = '0' if sni=='Candidato': sni = '1' if sni=='Nivel I': elif sni=='Nivel I': sni = '2' if sni=='Nivel II': elif sni=='Nivel II': sni='3' if sni=='Nivel III': elif sni=='Nivel III': sni='4' else: sni = '0' # Declaramos un diccionario para inicializar el formulario de docente. form_data = { 'nombre': fila['nombre'], Loading Cargas/Materias/templates/ListaMaterias.html +69 −1 Original line number Diff line number Diff line Loading @@ -211,3 +211,71 @@ </form> {% endblock contenido %} {% block scripts %} <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script> <script> $(document).ready(function() { // Asociar el clic en el span con el envío del formulario $('#searchSpan').on('click', function() { $('#searchForm').submit(); }); }); </script> <script> $(document).ready(function() { // Asociar el clic en el span con el envío del formulario de búsqueda $('#searchSpan').on('click', function() { $('#searchForm').submit(); }); // Asociar el cambio en el menú desplegable con el envío del formulario de ordenamiento $('#orderSelect').on('change', function() { $('#orderForm').submit(); }); }); </script> <script> // Esta función actualiza el estado del botón de eliminar según la cantidad de checkboxes seleccionados function actualizarEstado() { // Obtenemos todos los elementos de tipo checkbox var checkboxes = document.getElementsByName('materias[]'); // Inicializamos el contador de checkboxes seleccionados var numSeleccionados = 0; // Iteramos sobre cada checkbox. for(var i = 0; i < checkboxes.length; i++) { // Verificamos si el checkbox actual está marcado if (checkboxes[i].checked) { // Si está marcado, incrementamos el contador de checkboxes seleccionados numSeleccionados++; } } var btnEliminar = document.getElementById('botonEliminar'); // Si hay más de un checkbox seleccionado, mostramos el botón de eliminar if (numSeleccionados > 1) { btnEliminar.style.display = 'block'; } else { // Si hay uno o ningún checkbox seleccionado, ocultamos el botón de eliminar btnEliminar.style.display = 'none'; } } // Esta función se ejecuta cuando se selecciona o deselecciona el checkbox 'Todos' function seleccionar(source) { // Obtenemos todos los elementos de tipo checkbox var checkboxes = document.getElementsByName('materias[]'); // Iteramos sobre cada checkbox y lo marcamos o desmarcamos según el estado del checkbox 'Todos' for(var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = source.checked; } // Después de marcar o desmarcar todos los checkboxes, actualizamos el estado del botón de eliminar actualizarEstado(); } </script> {% endblock scripts %} No newline at end of file Cargas/static/ArchivosEjemplos/EjemploCSVDocentes.xlsx +13.4 KiB (38 KiB) File changed.No diff preview for this file type. View original file View changed file Loading
Cargas/Docentes/__pycache__/views.cpython-39.pyc +8 B (8.03 KiB) File changed.No diff preview for this file type. View original file View changed file
Cargas/Docentes/views.py +7 −6 Original line number Diff line number Diff line Loading @@ -240,6 +240,7 @@ def leerXLS(request,archivo,filas_errores,texto_errores,unidad): df = pd.read_excel(archivo) # normalizamos las columanas para evitar errores en la lectura df.columns = df.columns.str.lower() print(df) # Validar que no haya valores nulos en el DataFrame if df.isnull().values.any(): messages.error(request, 'El archivo CSV contiene valores faltantes. Por favor, verifica y vuelve a intentarlo.') Loading @@ -248,16 +249,16 @@ def leerXLS(request,archivo,filas_errores,texto_errores,unidad): for indice, fila in df.iterrows(): # Utiliza el formulario para validar los datos sni = fila['sni'] if sni=='N/A': sni = '0' if sni=='Candidato': sni = '1' if sni=='Nivel I': elif sni=='Nivel I': sni = '2' if sni=='Nivel II': elif sni=='Nivel II': sni='3' if sni=='Nivel III': elif sni=='Nivel III': sni='4' else: sni = '0' # Declaramos un diccionario para inicializar el formulario de docente. form_data = { 'nombre': fila['nombre'], Loading
Cargas/Materias/templates/ListaMaterias.html +69 −1 Original line number Diff line number Diff line Loading @@ -211,3 +211,71 @@ </form> {% endblock contenido %} {% block scripts %} <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script> <script> $(document).ready(function() { // Asociar el clic en el span con el envío del formulario $('#searchSpan').on('click', function() { $('#searchForm').submit(); }); }); </script> <script> $(document).ready(function() { // Asociar el clic en el span con el envío del formulario de búsqueda $('#searchSpan').on('click', function() { $('#searchForm').submit(); }); // Asociar el cambio en el menú desplegable con el envío del formulario de ordenamiento $('#orderSelect').on('change', function() { $('#orderForm').submit(); }); }); </script> <script> // Esta función actualiza el estado del botón de eliminar según la cantidad de checkboxes seleccionados function actualizarEstado() { // Obtenemos todos los elementos de tipo checkbox var checkboxes = document.getElementsByName('materias[]'); // Inicializamos el contador de checkboxes seleccionados var numSeleccionados = 0; // Iteramos sobre cada checkbox. for(var i = 0; i < checkboxes.length; i++) { // Verificamos si el checkbox actual está marcado if (checkboxes[i].checked) { // Si está marcado, incrementamos el contador de checkboxes seleccionados numSeleccionados++; } } var btnEliminar = document.getElementById('botonEliminar'); // Si hay más de un checkbox seleccionado, mostramos el botón de eliminar if (numSeleccionados > 1) { btnEliminar.style.display = 'block'; } else { // Si hay uno o ningún checkbox seleccionado, ocultamos el botón de eliminar btnEliminar.style.display = 'none'; } } // Esta función se ejecuta cuando se selecciona o deselecciona el checkbox 'Todos' function seleccionar(source) { // Obtenemos todos los elementos de tipo checkbox var checkboxes = document.getElementsByName('materias[]'); // Iteramos sobre cada checkbox y lo marcamos o desmarcamos según el estado del checkbox 'Todos' for(var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = source.checked; } // Después de marcar o desmarcar todos los checkboxes, actualizamos el estado del botón de eliminar actualizarEstado(); } </script> {% endblock scripts %} No newline at end of file
Cargas/static/ArchivosEjemplos/EjemploCSVDocentes.xlsx +13.4 KiB (38 KiB) File changed.No diff preview for this file type. View original file View changed file