From 3a7b2a66293b969b6795612fc83b379a1f97fe1c Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Thu, 10 Mar 2022 19:00:18 -0600 Subject: [PATCH 01/12] carrera en reporte cuestionario alumno --- server/controller/CuestionarioAlumno/get.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/controller/CuestionarioAlumno/get.js b/server/controller/CuestionarioAlumno/get.js index 495b5b5..7cb4707 100644 --- a/server/controller/CuestionarioAlumno/get.js +++ b/server/controller/CuestionarioAlumno/get.js @@ -4,6 +4,7 @@ const helperPath = '../../helper'; const helper = require(`${helperPath}/helper`); const { validarNumero } = require(`${helperPath}/validar`); const dbPath = '../../db/tablas'; +const Carrera = require(`${dbPath}/Carrera`); const CuestionarioAlumno = require(`${dbPath}/CuestionarioAlumno`); const Programa = require(`${dbPath}/Programa`); const Servicio = require(`${dbPath}/Servicio`); @@ -21,7 +22,7 @@ const get = async (body) => { where: { idCuestionarioAlumno: { [Op.not]: null } }, }, { model: Programa, where: { clavePrograma: { [Op.like]: `${year}%` } } }, - { model: Usuario }, + { model: Usuario, include: [{ model: Carrera }] }, ], order: [['createdAt']], }) @@ -32,6 +33,7 @@ const get = async (body) => { clavePrograma: res[i].Programa.clavePrograma, usuario: res[i].Usuario.usuario, nombre: res[i].Usuario.nombre, + carrera: res[i].Usuario.Carrera.carrera, idCuestionarioAlumno: res[i].CuestionarioAlumno.idCuestionarioAlumno, sexo: res[i].CuestionarioAlumno.sexo, edad: res[i].CuestionarioAlumno.edad, From a750f1f71b19c6e350cf2b73797f1f890b7c89d7 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Thu, 10 Mar 2022 19:11:53 -0600 Subject: [PATCH 02/12] error carrera --- server/controller/CuestionarioAlumno/get.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server/controller/CuestionarioAlumno/get.js b/server/controller/CuestionarioAlumno/get.js index 7cb4707..c254209 100644 --- a/server/controller/CuestionarioAlumno/get.js +++ b/server/controller/CuestionarioAlumno/get.js @@ -22,7 +22,8 @@ const get = async (body) => { where: { idCuestionarioAlumno: { [Op.not]: null } }, }, { model: Programa, where: { clavePrograma: { [Op.like]: `${year}%` } } }, - { model: Usuario, include: [{ model: Carrera }] }, + { model: Usuario }, + { model: Carrera }, ], order: [['createdAt']], }) @@ -33,7 +34,7 @@ const get = async (body) => { clavePrograma: res[i].Programa.clavePrograma, usuario: res[i].Usuario.usuario, nombre: res[i].Usuario.nombre, - carrera: res[i].Usuario.Carrera.carrera, + carrera: res[i].Carrera.carrera, idCuestionarioAlumno: res[i].CuestionarioAlumno.idCuestionarioAlumno, sexo: res[i].CuestionarioAlumno.sexo, edad: res[i].CuestionarioAlumno.edad, From efb4a7c374196132ca3b7dcb18a172bb870f1039 Mon Sep 17 00:00:00 2001 From: lemuel Date: Fri, 11 Mar 2022 11:22:40 -0600 Subject: [PATCH 03/12] carrera en cuestionarios programa --- server/controller/CuestionarioAlumno/get.js | 4 +--- server/controller/CuestionarioPrograma/get.js | 7 ++++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/server/controller/CuestionarioAlumno/get.js b/server/controller/CuestionarioAlumno/get.js index c254209..db7646d 100644 --- a/server/controller/CuestionarioAlumno/get.js +++ b/server/controller/CuestionarioAlumno/get.js @@ -76,9 +76,7 @@ const get = async (body) => { }); return helper.crearArchivo(path, convertArrayToCSV(data)); }) - .then((res) => { - return path; - }); + .then((res) => path); }; module.exports = get; diff --git a/server/controller/CuestionarioPrograma/get.js b/server/controller/CuestionarioPrograma/get.js index ca52114..25a9338 100644 --- a/server/controller/CuestionarioPrograma/get.js +++ b/server/controller/CuestionarioPrograma/get.js @@ -5,6 +5,7 @@ const helperPath = '../../helper'; const helper = require(`${helperPath}/helper`); const { validarNumero } = require(`${helperPath}/validar`); const dbPath = '../../db/tablas'; +const Carrera = require(`${dbPath}/Carrera`); const CuestionarioPrograma = require(`${dbPath}/CuestionarioPrograma`); const Servicio = require(`${dbPath}/Servicio`); const Programa = require(`${dbPath}/Programa`); @@ -23,6 +24,7 @@ const get = async (body) => { }, { model: Programa, where: { clavePrograma: { [Op.like]: `${year}-%` } } }, { model: Usuario }, + { model: Carrera }, ], order: [['createdAt']], }) @@ -33,6 +35,7 @@ const get = async (body) => { clavePrograma: res[i].Programa.clavePrograma, usuario: res[i].Usuario.usuario, nombre: res[i].Usuario.nombre, + carrera: res[i].Carrera.carrera, idCuestionarioPrograma: res[i].CuestionarioPrograma.idCuestionarioPrograma, actividad1: res[i].CuestionarioPrograma.actividad1, @@ -50,9 +53,7 @@ const get = async (body) => { }); return helper.crearArchivo(path, convertArrayToCSV(data)); }) - .then((res) => { - return path; - }); + .then((res) => path); }; module.exports = get; From 46fc456911a0dd9994a2e2eb5e4bf4c2c6d85fff Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Mon, 28 Mar 2022 12:26:23 -0600 Subject: [PATCH 04/12] nuevos correos --- server/helper/correos.js | 103 +++++++++++++++++++++++++++------------ 1 file changed, 72 insertions(+), 31 deletions(-) diff --git a/server/helper/correos.js b/server/helper/correos.js index 1c4d588..43fd418 100644 --- a/server/helper/correos.js +++ b/server/helper/correos.js @@ -1,4 +1,10 @@ -const dudas = `Cualquier duda puedes acudir al área de Registro y Control de Servicio Social en COESI de Lunes a Viernes de 10:00 a 14:00 hrs y de 16:00 a 20:00 hrs, o bien, comunicarte al 5623 1686 o al correo registross@acatlan.unam.mx`; +const dudasAlumno = `Cualquier duda puedes acudir a las ventanillas de servicio social de la Secretaría de Asuntos Académicos Estudiantiles, en la planta baja del Edificio A-8 de lunes a viernes de 09:00 a 15:00 hrs. y de 17:00 a 19:00 hrs. o bien, comunicarte al 5623 1686 o al correo tramites.ss@acatlan.unam.mx`; +const dudasResponsable = `Cualquier duda puede comunicarse al 5623 1686 o al correo tramites.ss@acatlan.unam.mx`; +const atentamente = ` +Atentamente +Departamento de Servicio Social y Bolsa de Trabajo +FES Acatlán +`; const preRegistro = (password, nombre) => { return { @@ -6,17 +12,23 @@ const preRegistro = (password, nombre) => { msj: `Estimado(a) ${nombre}: Te informamos que la dependencia en donde decidiste realizar tu servicio social ya te registró en nuestro sistema de servicio social, por lo que para completar el proceso debes ingresar en un periodo máximo de 10 días hábiles a partir de la recepción de este mensaje, a la página https://iris.acatlan.unam.mx/ con tu número de cuenta y contraseña: ${password}, para llenar un formulario con tus datos. + En caso de no realizar dicho registro, tu trámite queda inconcluso y no nos hacemos responsables por las horas de servicio social prestadas en cualquier dependencia. + En el sistema que se te indicó podrás dar seguimiento al resto de tu trámite de servicio social. -Cualquier duda puedes acudir al área de Registro y Control de Servicio Social en COESI de lunes a viernes de 10:00 a 13:00 hrs. y de 16:00 a 19:00 hrs. o bien, comunicarte al 5623 1686 o al correo tramites.ss@acatlan.unam.mx Instrucciones al término de tu servicio social: Al día siguiente de tu fecha de término programada, quedará habilitado en el sistema la opción para subir los documentos correspondientes, por lo que la institución deberá subir escaneada tu carta de término y llenar un cuestionario sobre tu desempeño, mientras que tú debes encargarte de subir tu informe global de actividades en el formato disponible en http://bit.ly/informeglobal-FESA, así como llenar un cuestionario sobre el programa en el que participaste. + Si se suben correctamente los documentos y cuestionarios mencionados, el Departamento de Servicio Social validará tu trámite de término en el sistema y en un periodo aproximado de 15 días hábiles te hará llegar por correo electrónico tu carta de liberación del servicio social. + Finalmente, te recomendamos destacar en tu bandeja de correos este mensaje para tener siempre a la mano las instrucciones recibidas, o bien, copiar en otro archivo el texto para que lo puedas ubicar fácilmente. -${dudas}`, +${dudasAlumno} + +${atentamente} +`, }; }; @@ -29,7 +41,10 @@ Te informamos que hay un error con tu pre-registro de servicio social por los si ${motivo} -${dudas}`, +${dudasAlumno} + +${atentamente} +`, }; }; @@ -37,11 +52,15 @@ const preRegistroRechazadoResponsable = (motivo, nombre) => { return { subject: `Notificación de rechazo de pre-registro.`, msj: `Estimado responsable de programa: + Te informamos que hubo un error con el pre-registro de servicio social del alumno ${nombre} por los siguientes motivos: ${motivo} -${dudas}`, +${dudasResponsable} + +${atentamente} +`, }; }; @@ -56,7 +75,10 @@ A su vez, deberás responder un cuestionario de evaluación del programa de serv Cabe mencionar que se ha enviado copia de este mensaje al responsable de programa de servicio social de tu dependencia para que esté enterado de la validación de tu registro. -${dudas}`, +${dudasAlumno} + +${atentamente} +`, }; }; @@ -67,7 +89,10 @@ const registroValidadoResponsable = (nombre) => { Te informamos que el Área de Registro y Control de Servicio Social ha validado la solicitud de registro del alumno ${nombre}. -${dudas}`, +${dudasResponsable} + +${atentamente} +`, }; }; @@ -78,7 +103,10 @@ const terminoValidado = (nombre) => { Te confirmamos que has concluido con los trámites necesarios para la liberación de tu servicio social por lo que ahora solo queda esperar máximo 15 días hábiles para que se te notifique por correo electrónico, a partir de cuándo puedes recoger la copia de tu carta de liberación en las ventanillas del Área de Registro y Control de Servicio Social. -${dudas}`, +${dudasAlumno} + +${atentamente} +`, }; }; @@ -91,7 +119,10 @@ Te informamos que no fue validado tu trámite de término por el Departamento de ${motivo} -${dudas}`, +${dudasAlumno} + +${atentamente} +`, }; }; @@ -99,11 +130,15 @@ const terminoRechazadoResponsable = (motivo, nombre) => { return { subject: 'Correo de rechazo de término', msj: `Estimado responsable de programa: + Te informamos que no fue validado el trámite de término del alumno ${nombre} por el Departamento de Servicio Social y Bolsa de Trabajo por los siguientes motivos: ${motivo} -${dudas}`, +${dudasResponsable} + +${atentamente} +`, }; }; @@ -116,7 +151,10 @@ Te informamos que fue cancelado tu trámite de servicio social, por el Departame ${motivo} -${dudas}`, +${dudasAlumno} + +${atentamente} +`, }; }; @@ -128,16 +166,19 @@ Te informamos que fue cancelado el trámite de servicio social del alumno ${nomb ${motivo} -${dudas}`, +${dudasResponsable} + +${atentamente} +`, }; }; const enviarSec = (secreto, usuariomail, nombre) => { return { subject: `Estimado responsable de programa de servicio social: ${nombre}`, - msj: `Como ya se les había informado, en nuestra Facultad estamos en un proceso de actualización administrativa que implica la puesta en marcha de un nuevo sistema interno de servicio social en el cual estará el expediente electrónico del alumno y su seguimiento con respecto a estos trámites. La dirección electrónica de dicho sistema es https://iris.acatlan.unam.mx y su usuario y contraseña son: + msj: `Le informamos que desde marzo de 2020 se implementó un nuevo sistema interno de servicio social en el cual estará el expediente electrónico del alumno y su seguimiento con respecto a estos trámites. La dirección electrónica de dicho sistema es https://iris.acatlan.unam.mx y su usuario y contraseña son: -Usuario: ${usuariomail} +Nombre de usuario para ingresar: ${usuariomail} Contraseña: ${secreto} @@ -155,32 +196,35 @@ Para el uso de dicho sistema el proceso es el siguiente: 5. Por su parte el alumno ingresará al sistema para subir escaneado su informe de actividades con firma y sello de su jefe inmediato y llenará un cuestionario de evaluación del programa de servicio social en el que participó. -6. Si todo está correcto el Departamento de servicio social validará el trámite de término del alumno y le notificará el tiempo aproximado en que puede pasar a recoger su carta de liberación de servicio social. +6. Si todo está correcto el Departamento de servicio social validará el trámite de término del alumno y le notificará el tiempo aproximado en que se le enviará por correo su carta de liberación. Otras consideraciones: -- Le pedimos su apoyo cargando las cartas de los alumnos en un periodo de 10 días hábiles posteriores a la fecha de inicio y término, ya que a su vez los alumnos tendrán otros 10 días hábiles para completar lo que les corresponde en cada etapa. Para todos los casos de este año que ya hayan iniciado su servicio social con anterioridad, le pedimos que antes del 15 de Mayo, quede registrado en nuestro sistema. +- Le pedimos su apoyo cargando las cartas de los alumnos en un periodo de 10 días hábiles posteriores a la fecha de inicio y término, ya que a su vez los alumnos tendrán otros 10 días hábiles para completar lo que les corresponde en cada etapa. -- Para obtener los datos que el sistema le pide del alumno puede preguntárselos directamente, ya que las cartas de presentación sólo se emiten para instituciones externas. +- Para obtener los datos que el sistema le pide del alumno puede preguntárselos directamente, ya que las cartas de presentación sólo se emiten para instituciones externas. - Los profesores de carrera con proyectos de servicio social registrados no tendrán claves de acceso a este sistema, por lo que sus áreas de adscripción deberán encargarse de hacer los trámites de servicio social de sus alumnos. -- Finalmente, cabe mencionar que el nuevo procedimiento sólo aplica a los alumnos que inicien su servicio social en 2020, por lo que aquellos que ya habían hecho su trámite de inicio desde 2019, lo terminarán con el proceso anterior entregando su carta de termino original en las ventanillas de servicio social. - - De cualquier forma para atender dudas o comentarios al respecto, podrá comunicarse con el equipo del Departamento de Servicio Social: Lic. Lourdes Ibarra Celorio 56231686 -registross@acatlan.unam.mx +tramites.ss@acatlan.unam.mx + +Lic. Marcela Martínez Rangel +56231600 +sesocial@acatlan.unam.mx. Mtra. Adriana Roque del Angel 56231600 -jefaturassbt@acatlan.unam.mx +sesoprof@acatlan.unam.mx Atentamente Mtra. Adriana Roque del Angel -Jefa del Departamento de Servicio Social y Bolsa de Trabajo.`, +Jefa del Departamento de Servicio Social, Desarrollo Profesional e Inserción Laboral +`, }; }; @@ -195,15 +239,14 @@ En cuanto cumplas con las 480 horas reglamentarias, tienes 15 días hábiles par Por su parte el responsable del programa de servicio social deberá ingresar al mismo sistema para subir escaneada tu carta de término y debe responder el Cuestionario de desempeño del alumno. Para lo anterior, también la institución tiene 15 días hábiles a partir de que concluiste las 480 horas de servicio. -En cuanto el responsable de programa de servicio social y tú suban al sistema lo que les corresponde, el Departamento de Servicio Social revisará tus documentos y en caso de estar correctos validará tu trámite para realizar la liberación de este requisito. Recibirás una notificación por correo con el periodo de tiempo aproximado que debes esperar para acudir a recoger la copia de tu carta de liberación o bien, las indicaciones de los documentos que debes corregir para poder aceptar tu trámite de término. +En cuanto el responsable de programa de servicio social y tú suban al sistema lo que les corresponde, el Departamento de Servicio Social revisará tus documentos y en caso de estar correctos validará tu trámite para realizar la liberación de este requisito. Recibirás una notificación por correo con el periodo de tiempo aproximado que debes esperar para recibir por correo electrónico tu carta de liberación o bien, las indicaciones de los documentos que debes corregir para poder aceptar tu trámite de término. Por reglamento de la Universidad, si en máximo dos años a partir de la fecha de inicio de servicio social no se realiza el trámite de término mencionado anteriormente, debes tomar en cuenta que tu registro queda cancelado y deberás tramitarlo nuevamente en otro programa. -${dudas} +${dudasAlumno} -Atentamente -Departamento de Servicio Social y Bolsa de Trabajo -FES Acatlán`, +${atentamente} +`, }; }; @@ -222,11 +265,9 @@ En cuanto usted y el alumno suban al sistema lo que les corresponde, el Departam También se le ha informado al alumno que por reglamento de la Universidad, si en máximo dos años a partir de la fecha de inicio de servicio social no se realiza el trámite de término mencionado anteriormente, debe tomar en cuenta que su registro queda cancelado y deberá tramitarlo nuevamente en otro programa. -${dudas} +${dudasResponsable} -Atentamente -Departamento de Servicio Social y Bolsa de Trabajo -FES Acatlán +${atentamente} `, }; }; From 62eb0dc90ce3544b58bf424c86b61c369225be69 Mon Sep 17 00:00:00 2001 From: lemuel Date: Fri, 22 Apr 2022 11:31:23 -0500 Subject: [PATCH 05/12] dependencia validar alfa numerico --- server/controller/CasoEspecial/nuevo.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/controller/CasoEspecial/nuevo.js b/server/controller/CasoEspecial/nuevo.js index 822c4c5..8a30e51 100644 --- a/server/controller/CasoEspecial/nuevo.js +++ b/server/controller/CasoEspecial/nuevo.js @@ -35,7 +35,7 @@ const nuevo = async (body, file) => { ? validar.validarTexto(body.institucion, 'institucion', false, 200) : ''; const dependencia = body.dependencia - ? validar.validarTexto(body.dependencia, 'dependencia', false, 200) + ? validar.validarAlfanumerico(body.dependencia, 'dependencia', false, 200) : ''; const motivo = body.motivo ? validar.validarNumero(body.motivo, 'motivo', true, 1) From 0aa406fb152804e32e0d86e66eb6df7cff7988a7 Mon Sep 17 00:00:00 2001 From: lemuel Date: Thu, 12 May 2022 09:42:18 -0500 Subject: [PATCH 06/12] nuevo mensaje termino --- server/helper/correos.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/helper/correos.js b/server/helper/correos.js index 43fd418..9a1ebdf 100644 --- a/server/helper/correos.js +++ b/server/helper/correos.js @@ -101,7 +101,7 @@ const terminoValidado = (nombre) => { subject: 'Validación de término.', msj: `Estimado(a) ${nombre}: -Te confirmamos que has concluido con los trámites necesarios para la liberación de tu servicio social por lo que ahora solo queda esperar máximo 15 días hábiles para que se te notifique por correo electrónico, a partir de cuándo puedes recoger la copia de tu carta de liberación en las ventanillas del Área de Registro y Control de Servicio Social. +Te confirmamos que has concluido con los trámites necesarios para la liberación de tu servicio social por lo que ahora solo queda esperar máximo 15 días hábiles para que se te envíe a tu correo, la copia de tu carta de liberación. ${dudasAlumno} From 6c1d967c8cd48b42291aac7828fe443b3c309e0c Mon Sep 17 00:00:00 2001 From: lemuel Date: Fri, 14 Oct 2022 12:16:24 -0500 Subject: [PATCH 07/12] =?UTF-8?q?ya=20no=20deber=C3=ADan=20haber=20duplica?= =?UTF-8?q?dos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/controller/CasoEspecial/liberacion.js | 2 +- server/controller/Servicio/nuevo.js | 52 ++++++++++++-------- server/helper/drive.js | 34 ++++++++++--- 3 files changed, 60 insertions(+), 28 deletions(-) diff --git a/server/controller/CasoEspecial/liberacion.js b/server/controller/CasoEspecial/liberacion.js index c8b9031..ac8d147 100644 --- a/server/controller/CasoEspecial/liberacion.js +++ b/server/controller/CasoEspecial/liberacion.js @@ -36,7 +36,7 @@ const liberacion = async (body) => { .then((res) => CasoEspecial.update(update, { where: { idCasoEspecial } })) .then((res) => ({ message: - 'Se cambio de estatus correctamente y se envio un correo al alumno informandole de su liberación.', + 'Se cambió de estatus correctamente y se envió un correo al alumno informandole de su liberación.', })); }; diff --git a/server/controller/Servicio/nuevo.js b/server/controller/Servicio/nuevo.js index 69d9deb..a80585a 100644 --- a/server/controller/Servicio/nuevo.js +++ b/server/controller/Servicio/nuevo.js @@ -41,7 +41,6 @@ const nuevo = async (body, file) => { const profesor = body.profesor ? validar.validarTexto(body.profesor, 'profesor', true, 50) : ''; - let carpeta = ''; return Usuario.findOne({ where: { idUsuario }, @@ -65,19 +64,7 @@ const nuevo = async (body, file) => { .then(async (res) => { if (res) throw new Error('Este alumno ya tienen un Servicio Social activo.'); - return drive.folder(numeroCuenta); - }) - .then((res) => { - carpeta = res; - return drive.uploadFile( - path, - `Carta_Aceptacion.pdf`, - 'application/pdf', - carpeta - ); - }) - .then((res) => - Servicio.create({ + return Servicio.create({ idUsuario, idPrograma, idCarrera, @@ -85,15 +72,38 @@ const nuevo = async (body, file) => { correo, fechaInicio: fechaInicio.format(), fechaFin: fechaFin.format(), - carpeta, - cartaAceptacion: res, + carpeta: '', + cartaAceptacion: '', profesor, programaInterno, - }) - ) - .then((res) => ({ - message: `Se Pre-Registro correctamente a este alumno alumno.`, - })); + }); + }) + .then((servicio) => { + let carpeta = ''; + + drive + .folder(numeroCuenta) + .then((res) => { + carpeta = res; + return drive.uploadFile( + path, + `Carta_Aceptacion.pdf`, + 'application/pdf', + carpeta + ); + }) + .then((res) => + Servicio.update( + { carpeta, cartaAceptacion: res }, + { where: { idServicio: servicio.idServicio } } + ) + ) + .then((res) => { + console.log(res); + console.log("Se subió el archivo"); + }); + return { message: `Se Pre-Registro correctamente a este alumno alumno.` }; + }); }; module.exports = nuevo; diff --git a/server/helper/drive.js b/server/helper/drive.js index 6e5def0..4250e49 100644 --- a/server/helper/drive.js +++ b/server/helper/drive.js @@ -144,15 +144,37 @@ const folder = async (numeroCuenta) => { return mkDir(numeroCuenta); }; -const borrarTodo = () => { - return list().then(async (res) => { - for (let i = 0; i < res.files.length; i++) - if (res.files[i].id !== process.env.CARPETA) - await deleteFile(res.files[i].id); - }); +// const borrarTodo = () => { +// return list().then(async (res) => { +// for (let i = 0; i < res.files.length; i++) +// if (res.files[i].id !== process.env.CARPETA) +// await deleteFile(res.files[i].id); +// }); +// }; + +const findAll = async () => { + const folders = []; + const pdfs = []; + let pageToken = ''; + + do { + await list(pageToken).then((res) => { + for (let i = 0; i < res.files.length; i++) { + if (res.files[i].id !== process.env.CARPETA) { + if (res.files[i].mimeType === 'application/vnd.google-apps.folder') + folders.push(res.files[i].id); + if (res.files[i].mimeType === 'application/pdf') + pdfs.push(res.files[i].id); + } + } + pageToken = res.nextPageToken ? res.nextPageToken : ''; + }); + } while (pageToken); + return { folders, pdfs }; }; module.exports = { folder, uploadFile, + findAll, }; From 620c5da07c716b8923395da61ff906d70b7b0502 Mon Sep 17 00:00:00 2001 From: lemuel Date: Fri, 14 Oct 2022 17:22:09 -0500 Subject: [PATCH 08/12] log y eliminar archivos de mas en drive --- .../controller/Servicio/archivosRepetidos.js | 42 +++++++++++++++++++ server/controller/Servicio/nuevo.js | 6 +-- server/helper/drive.js | 3 ++ 3 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 server/controller/Servicio/archivosRepetidos.js diff --git a/server/controller/Servicio/archivosRepetidos.js b/server/controller/Servicio/archivosRepetidos.js new file mode 100644 index 0000000..d0d80fb --- /dev/null +++ b/server/controller/Servicio/archivosRepetidos.js @@ -0,0 +1,42 @@ +const { Op } = require('sequelize'); +const helperPath = '../../helper'; +const drive = require(`${helperPath}/drive`); +const dbPath = '../../db/tablas'; +const Servicio = require(`${dbPath}/Servicio`); + +const archivosRepetidos = async (eliminar = false) => { + return drive.findAll().then(async (res) => { + const pdfsEliminar = []; + const foldersEliminar = []; + + for (let i = 0; i < res.pdfs.length; i++) + await Servicio.findOne({ + where: { + [Op.or]: [ + { cartaAceptacion: res.pdfs[i] }, + { cartaTermino: res.pdfs[i] }, + { informeGlobal: res.pdfs[i] }, + ], + }, + }).then((servicio) => { + if (!servicio) { + pdfsEliminar.push(res.pdfs[i]); + if (eliminar) return drive.deleteFile(res.pdfs[i]); + } + }); + console.log(pdfsEliminar); + for (let i = 0; i < res.folders.length; i++) + await Servicio.findOne({ + where: { carpeta: res.folders[i] }, + }).then((servicio) => { + if (!servicio) { + foldersEliminar.push(res.folders[i]); + if (eliminar) return drive.deleteFile(res.folders[i]); + } + }); + console.log(foldersEliminar); + console.log(res) + }); +}; + +archivosRepetidos(); diff --git a/server/controller/Servicio/nuevo.js b/server/controller/Servicio/nuevo.js index a80585a..1d8beba 100644 --- a/server/controller/Servicio/nuevo.js +++ b/server/controller/Servicio/nuevo.js @@ -98,11 +98,7 @@ const nuevo = async (body, file) => { { where: { idServicio: servicio.idServicio } } ) ) - .then((res) => { - console.log(res); - console.log("Se subió el archivo"); - }); - return { message: `Se Pre-Registro correctamente a este alumno alumno.` }; + return { message: `Se Pre-Registro correctamente a este alumno.` }; }); }; diff --git a/server/helper/drive.js b/server/helper/drive.js index 4250e49..18f4bb4 100644 --- a/server/helper/drive.js +++ b/server/helper/drive.js @@ -37,6 +37,8 @@ const list = (pageToken) => { // Borrar archivo const deleteFile = (fileId) => { + if (fileId === process.env.CARPETA) + throw new Error('No se puede eliminar este archivo/carpeta.'); return new Promise((resolve, reject) => { jwtClient.authorize(async (err, tokens) => { if (err) reject(err); @@ -177,4 +179,5 @@ module.exports = { folder, uploadFile, findAll, + deleteFile, }; From 9cc59919f803d712b01955a3446e6878d268fbea Mon Sep 17 00:00:00 2001 From: lemuel Date: Mon, 14 Nov 2022 10:43:18 -0600 Subject: [PATCH 09/12] sin archivo de eliminar archivos no requieridos --- .../controller/Servicio/archivosRepetidos.js | 42 ------------------- server/helper/drive.js | 1 - 2 files changed, 43 deletions(-) delete mode 100644 server/controller/Servicio/archivosRepetidos.js diff --git a/server/controller/Servicio/archivosRepetidos.js b/server/controller/Servicio/archivosRepetidos.js deleted file mode 100644 index d0d80fb..0000000 --- a/server/controller/Servicio/archivosRepetidos.js +++ /dev/null @@ -1,42 +0,0 @@ -const { Op } = require('sequelize'); -const helperPath = '../../helper'; -const drive = require(`${helperPath}/drive`); -const dbPath = '../../db/tablas'; -const Servicio = require(`${dbPath}/Servicio`); - -const archivosRepetidos = async (eliminar = false) => { - return drive.findAll().then(async (res) => { - const pdfsEliminar = []; - const foldersEliminar = []; - - for (let i = 0; i < res.pdfs.length; i++) - await Servicio.findOne({ - where: { - [Op.or]: [ - { cartaAceptacion: res.pdfs[i] }, - { cartaTermino: res.pdfs[i] }, - { informeGlobal: res.pdfs[i] }, - ], - }, - }).then((servicio) => { - if (!servicio) { - pdfsEliminar.push(res.pdfs[i]); - if (eliminar) return drive.deleteFile(res.pdfs[i]); - } - }); - console.log(pdfsEliminar); - for (let i = 0; i < res.folders.length; i++) - await Servicio.findOne({ - where: { carpeta: res.folders[i] }, - }).then((servicio) => { - if (!servicio) { - foldersEliminar.push(res.folders[i]); - if (eliminar) return drive.deleteFile(res.folders[i]); - } - }); - console.log(foldersEliminar); - console.log(res) - }); -}; - -archivosRepetidos(); diff --git a/server/helper/drive.js b/server/helper/drive.js index 18f4bb4..27b9650 100644 --- a/server/helper/drive.js +++ b/server/helper/drive.js @@ -178,6 +178,5 @@ const findAll = async () => { module.exports = { folder, uploadFile, - findAll, deleteFile, }; From 74e3c265b028f9adddcc8b61751ee54eadddc924 Mon Sep 17 00:00:00 2001 From: xXpuma99Xx <51341582+xXpuma99Xx@users.noreply.github.com> Date: Thu, 17 Nov 2022 19:01:51 -0600 Subject: [PATCH 10/12] =?UTF-8?q?cambios=20en=20cr=C3=A9ditos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/controller/Usuario/escolares.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/server/controller/Usuario/escolares.js b/server/controller/Usuario/escolares.js index 78a15b6..030f184 100644 --- a/server/controller/Usuario/escolares.js +++ b/server/controller/Usuario/escolares.js @@ -5,27 +5,27 @@ const dbPath = '../../db/tablas'; const Usuario = require(`${dbPath}/Usuario`); const Carrera = require(`${dbPath}/Carrera`); const creditosCarreras = [ - { carrera: 'LIC. EN ACTUARIA', creditos: 70 }, + { carrera: 'LIC. EN ACTUARIA', creditos: 64 }, { carrera: 'LIC. EN ARQUITECTURA', creditos: 70 }, - { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON PUB', creditos: 70 }, - { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON.PUBL.', creditos: 70 }, - { carrera: 'LIC. EN COMUNICACION', creditos: 67 }, - { carrera: 'LIC. EN DERECHO', creditos: 70 }, - { carrera: 'LIC. EN DERECHO (SUA)', creditos: 70 }, + { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON PUB', creditos: 67.46 }, + { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON.PUBL.', creditos: 67.46 }, + { carrera: 'LIC. EN COMUNICACION', creditos: 67.28 }, + { carrera: 'LIC. EN DERECHO', creditos: 68 }, + { carrera: 'LIC. EN DERECHO (SUA)', creditos: 67 }, { carrera: 'LIC. EN DISEÑO GRAFICO', creditos: 70 }, - { carrera: 'LIC. EN ECONOMIA', creditos: 70 }, - { carrera: 'LIC. EN ENSEÑANZA DE INGLES', creditos: 70 }, + { carrera: 'LIC. EN ECONOMIA', creditos: 66.35 }, + { carrera: 'LIC. EN ENSEÑANZA DE INGLES', creditos: 69.89 }, { carrera: 'LIC. EN FILOSOFIA', creditos: 70 }, { carrera: 'LIC. EN HISTORIA', creditos: 70 }, { carrera: 'LIC. EN INGENIERIA CIVIL', creditos: 70 }, { carrera: 'LIC. EN LENGUA Y LITERATURA HISPANICAS', creditos: 70 }, - { carrera: 'LIC. EN MAT. APLICADAS Y COMPUTACION', creditos: 68 }, - { carrera: 'LIC. EN MATEMATICAS APLICADAS Y COMP.', creditos: 68 }, + { carrera: 'LIC. EN MAT. APLICADAS Y COMPUTACION', creditos: 66 }, + { carrera: 'LIC. EN MATEMATICAS APLICADAS Y COMP.', creditos: 66 }, { carrera: 'LIC. EN PEDAGOGÍA', creditos: 70 }, { carrera: 'LIC. EN PERIODISMO Y COMUNICACION COL.', creditos: 70 }, { carrera: 'LIC. EN RELACIONES INTERNACIONALES', creditos: 70 }, { carrera: 'LIC. EN RELACIONES INTERNACIONALES (SUA)', creditos: 70 }, - { carrera: 'LIC. EN SOCIOLOGIA', creditos: 70 }, + { carrera: 'LIC. EN SOCIOLOGIA', creditos: 68 }, { carrera: 'LIC. ENSEÑANZA DE ALEMÁN (LENG. EXTRANJS', creditos: 70 }, { carrera: 'LIC. ENSEÑANZA DE ESPAÑOL(LENG. EXTRANJ)', creditos: 70 }, { carrera: 'LIC. ENSEÑANZA DE INGLÉS(LENG. EXTRANJE)', creditos: 70 }, From afc29c420819258c10aa5762dbdf34906c63d592 Mon Sep 17 00:00:00 2001 From: lemuel Date: Tue, 22 Nov 2022 19:46:02 -0600 Subject: [PATCH 11/12] =?UTF-8?q?ultima=20correci=C3=B3n=20de=20drive?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/controller/Servicio/nuevo.js | 8 +++----- server/helper/drive.js | 1 + 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/server/controller/Servicio/nuevo.js b/server/controller/Servicio/nuevo.js index 1d8beba..7a9520e 100644 --- a/server/controller/Servicio/nuevo.js +++ b/server/controller/Servicio/nuevo.js @@ -42,9 +42,7 @@ const nuevo = async (body, file) => { ? validar.validarTexto(body.profesor, 'profesor', true, 50) : ''; - return Usuario.findOne({ - where: { idUsuario }, - }) + return Usuario.findOne({ where: { idUsuario } }) .then((res) => { if (!res) throw new Error('Este alumno no existe en la db.'); if (res.idTipoUsuario !== 3) @@ -82,7 +80,7 @@ const nuevo = async (body, file) => { let carpeta = ''; drive - .folder(numeroCuenta) + .mkDir(numeroCuenta) .then((res) => { carpeta = res; return drive.uploadFile( @@ -97,7 +95,7 @@ const nuevo = async (body, file) => { { carpeta, cartaAceptacion: res }, { where: { idServicio: servicio.idServicio } } ) - ) + ); return { message: `Se Pre-Registro correctamente a este alumno.` }; }); }; diff --git a/server/helper/drive.js b/server/helper/drive.js index 27b9650..d6c9de0 100644 --- a/server/helper/drive.js +++ b/server/helper/drive.js @@ -179,4 +179,5 @@ module.exports = { folder, uploadFile, deleteFile, + mkDir, }; From 6c7919af90ded2a2fe8352645e40623c8d17b666 Mon Sep 17 00:00:00 2001 From: lemuel Date: Thu, 9 Feb 2023 17:11:16 -0600 Subject: [PATCH 12/12] =?UTF-8?q?correcci=C3=B3n=20de=20n=C3=BAmeros=20en?= =?UTF-8?q?=20escolares?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/controller/Usuario/escolares.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/server/controller/Usuario/escolares.js b/server/controller/Usuario/escolares.js index 030f184..1326a47 100644 --- a/server/controller/Usuario/escolares.js +++ b/server/controller/Usuario/escolares.js @@ -7,14 +7,14 @@ const Carrera = require(`${dbPath}/Carrera`); const creditosCarreras = [ { carrera: 'LIC. EN ACTUARIA', creditos: 64 }, { carrera: 'LIC. EN ARQUITECTURA', creditos: 70 }, - { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON PUB', creditos: 67.46 }, - { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON.PUBL.', creditos: 67.46 }, - { carrera: 'LIC. EN COMUNICACION', creditos: 67.28 }, + { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON PUB', creditos: 67 }, + { carrera: 'LIC. EN CIENCIAS POLITICAS Y ADMON.PUBL.', creditos: 67 }, + { carrera: 'LIC. EN COMUNICACION', creditos: 67 }, { carrera: 'LIC. EN DERECHO', creditos: 68 }, { carrera: 'LIC. EN DERECHO (SUA)', creditos: 67 }, { carrera: 'LIC. EN DISEÑO GRAFICO', creditos: 70 }, - { carrera: 'LIC. EN ECONOMIA', creditos: 66.35 }, - { carrera: 'LIC. EN ENSEÑANZA DE INGLES', creditos: 69.89 }, + { carrera: 'LIC. EN ECONOMIA', creditos: 66 }, + { carrera: 'LIC. EN ENSEÑANZA DE INGLES', creditos: 69 }, { carrera: 'LIC. EN FILOSOFIA', creditos: 70 }, { carrera: 'LIC. EN HISTORIA', creditos: 70 }, { carrera: 'LIC. EN INGENIERIA CIVIL', creditos: 70 },