diff --git a/server/controller/AlumnoHorario/registrar.js b/server/controller/AlumnoHorario/registrar.js index 8f08e8e..b445a22 100644 --- a/server/controller/AlumnoHorario/registrar.js +++ b/server/controller/AlumnoHorario/registrar.js @@ -1,25 +1,33 @@ -const { validarId } = require('../../helper/validar'); +const dbHelper = '../../helper'; +const { validarId } = require(`../../helper/validar`); +const correoAlumno = require(`../../helper/correoAlumno`); +const gmail = require(`../../helper/gmail`); const dbPath = '../../db/tablas'; const Alumno = require(`${dbPath}/Alumno`); const AlumnoHorario = require(`${dbPath}/AlumnoHorario`); +const Carrera = require(`${dbPath}/Carrera`); const Horario = require(`${dbPath}/Horario`); const registrar = async (body) => { const idHorario = validarId(body.idHorario); const idAlumno = validarId(body.idAlumno); - let turno = ''; + let alumno = {}; + let horario = {}; + let correo = {}; return Alumno.findOne({ where: { idAlumno }, + include: [{ model: Carrera }], }) .then((res) => { if (!res) throw new Error('No existe este número de cuenta.'); - turno = res.turno; + alumno = res; return Horario.findOne({ where: { idHorario } }); }) .then((res) => { if (!res) throw new Error('No existe este horario.'); - if (turno != res.turno) + horario = res; + if (alumno.turno != horario.turno) throw new Error('Este horario no corresponde con el turno del alumno.'); return AlumnoHorario.findOne({ where: { idAlumno } }); }) @@ -30,8 +38,19 @@ const registrar = async (body) => { .then((res) => { if (res.length > 50) throw new Error('Ya no hay espacio en este horario.'); - return AlumnoHorario.create({ idAlumno, idHorario }); + correo = correoAlumno( + alumno.numeroCuenta, + alumno.Carrera.carrera, + horario.horario + ); + return gmail( + correo.subject, + 'lemuelhelonmarquezrosas@gmail.com', + // `${alumno.numeroCuenta@pcpuma.acatlan.unam.mx` + correo.message + ); }) + .then((res) => AlumnoHorario.create({ idAlumno, idHorario })) .then((res) => ({ message: 'Se registro correctamente tu horario.' })); }; diff --git a/server/controller/Horario/get.js b/server/controller/Horario/get.js index 8ef5dc7..320274a 100644 --- a/server/controller/Horario/get.js +++ b/server/controller/Horario/get.js @@ -1,10 +1,22 @@ const { validarTexto } = require('../../helper/validar'); +const AlumnoHorario = require(`../../db/tablas/AlumnoHorario`); const Horario = require(`../../db/tablas/Horario`); const get = async (body) => { const turno = validarTexto(body.turno, 'El turno', 1); - return Horario.findAll({ where: { turno } }); + return Horario.findAll({ where: { turno } }).then(async (res) => { + const data = []; + + for (let i = 0; i < res.length; i++) { + const registrados = await AlumnoHorario.findAll({ + where: { idHorario: res[i].idHorario }, + }); + + if (registrados.length <= 50) data.push(res[i]); + } + return data; + }); }; module.exports = get; diff --git a/server/helper/correoAlumno.js b/server/helper/correoAlumno.js new file mode 100644 index 0000000..57bd587 --- /dev/null +++ b/server/helper/correoAlumno.js @@ -0,0 +1,66 @@ +const moment = require('moment'); + +const correoAlumno = (numeroCuenta, lic, date) => { + const fecha = moment(date); + + return { + subject: `Comprobante de registro recorrido.`, + message: `
+ Gracias por registrarte para participar en este recorrido por la FES Acatlán, tu Facultad. La cita es en + la entrada peatonal (sobre Av. San Juan Totoltepec), el próximo ${ + fecha.date() < 10 ? '0' + fecha.date() : fecha.date() + }/${ + fecha.month() + 1 < 10 ? '0' + (fecha.month() + 1) : fecha.month() + 1 + }/${fecha.year()} a las ${ + fecha.hour() < 10 ? '0' + fecha.hour() : fecha.hour() + }:${ + fecha.minute() < 10 ? '0' + fecha.minute() : fecha.minute() + } h. Te pedimos + asistir en la fecha y horarios asignados de acuerdo con tu licenciatura (no pueden ser modificados). +
+ +Te solicitamos atender las siguientes medidas:
+ ++ ⮚ Programa tu llegada 10 min. antes de la hora de tu cita. +
+ ++ ⮚ El uso de cubrebocas es obligatorio en todo momento. +
+ ++ ⮚ Presenta al ingreso este “Comprobante de registro para recorrido”, puede ser en formato impreso o digital. +
+ ++ ⮚ No se permitirán acompañantes durante el recorrido. +
+ ++ ⮚ Acude con ropa cómoda y agua para estar bien hidratada(o). +
+ ++ ⮚ Si acudes en auto, sólo se permitirá tu ingreso (sin acompañantes) por el acceso vehicular sobre la avenida San Juan Totoltepec, junto a la Plaza San Mateo. +
+ ++ ¡Estaremos felices de recibirte! +
+ +"Por mi raza hablará el espíritu"
+ +Facultad de Estudios Superiores Acatlán
+- El objetivo de esta actividad (no obligatoria) es realizar un recorrido por la FES Acatlán, tu Facultad, a - efecto de que conozcas los pasillos, salones, espacios e instalaciones que estarán a tu disposición - cuando sea seguro para todas y todos. -
- -- Te esperamos en la entrada peatonal de la Facultad (sobre Av. San Juan Totoltepec), el próximo ${ - fecha.date() < 10 ? '0' + fecha.date() : fecha.date() - }/${ - fecha.month() + 1 < 10 ? '0' + (fecha.month() + 1) : fecha.month() + 1 - }/${fecha.year()} a las ${ - fecha.hour() < 10 ? '0' + fecha.hour() : fecha.hour() - }:${fecha.minute() < 10 ? '0' + fecha.minute() : fecha.minute()} h. -
- -- Te pedimos asistir en la fecha y hora que elegiste (no es posible hacer cambios), además es - importante atender las siguientes medidas: -
- -- ⮚ Programa tu llegada 10 min. antes de la hora de tu cita. -
- -- ⮚ El uso de cubrebocas es obligatorio en todo momento. -
- -- ⮚ Presenta al ingreso este “Comprobante de registro para recorrido”, puede ser en formato impreso o digital. -
- -- ⮚ No se permitirán acompañantes durante el recorrido. -
- -- ⮚ Acude con ropa cómoda y agua para estar bien hidratada(o). -
- -- ⮚ Si acudes en auto, sólo se permitirá tu ingreso (sin acompañantes) por el acceso vehicular sobre la avenida San Juan Totoltepec, junto a la Plaza San Mateo. -
- -- ¡Estaremos felices de recibirte! -
- -"Por mi raza hablará el espíritu"
- -Facultad de Estudios Superiores Acatlán
- -- Gracias por registrarte para participar en este recorrido por la FES Acatlán, tu Facultad. La cita es en - la entrada peatonal (sobre Av. San Juan Totoltepec), el próximo ${ - fecha.date() < 10 ? '0' + fecha.date() : fecha.date() - }/${ - fecha.month() + 1 < 10 ? '0' + (fecha.month() + 1) : fecha.month() + 1 - }/${fecha.year()} a las ${ - fecha.hour() < 10 ? '0' + fecha.hour() : fecha.hour() - }:${ - fecha.minute() < 10 ? '0' + fecha.minute() : fecha.minute() - } h. Te pedimos - asistir en la fecha y horarios asignados de acuerdo con tu licenciatura (no pueden ser modificados). -
- -Te solicitamos atender las siguientes medidas:
- -- ⮚ Programa tu llegada 10 min. antes de la hora de tu cita. -
- -- ⮚ El uso de cubrebocas es obligatorio en todo momento. -
- -- ⮚ Presenta al ingreso este “Comprobante de registro para recorrido”, puede ser en formato impreso o digital. -
- -- ⮚ No se permitirán acompañantes durante el recorrido. -
- -- ⮚ Acude con ropa cómoda y agua para estar bien hidratada(o). -
- -- ⮚ Si acudes en auto, sólo se permitirá tu ingreso (sin acompañantes) por el acceso vehicular sobre la avenida San Juan Totoltepec, junto a la Plaza San Mateo. -
- -- ¡Estaremos felices de recibirte! -
- -"Por mi raza hablará el espíritu"
- -Facultad de Estudios Superiores Acatlán
-