diff --git a/modules/events/mail.service.js b/modules/events/mail.service.js index 4a302a2..1b69ad7 100644 --- a/modules/events/mail.service.js +++ b/modules/events/mail.service.js @@ -19,7 +19,7 @@ const emailHelper = require("../../helpers/mail.helper"); */ function _generateMailDTO(dataInscription) { let inscriptionDTO = {}; - //console.log('*******ENTRO****', dataInscription); + //console.log('*******ENTRO****', dataInscription); const inscription = dataInscription.inscription ? dataInscription.inscription : dataInscription; const event = dataInscription.event ? dataInscription.event : dataInscription.inscription.event; const reservation = dataInscription.reservation ? dataInscription.reservation : null; @@ -29,6 +29,7 @@ function _generateMailDTO(dataInscription) { inscriptionDTO.id = inscription.id; inscriptionDTO.source = inscription.source; inscriptionDTO.event_name = event ? event.name : "N/A"; + inscriptionDTO.event_venue = event.venue ? event.venue.name : null; inscriptionDTO.event_date = event ? event.init_date : "N/A"; inscriptionDTO.event_marketing_list = event ? event.marketing_list : null; inscriptionDTO.date_inscription = inscription.date; @@ -38,36 +39,42 @@ function _generateMailDTO(dataInscription) { inscriptionDTO.reservation_code = reservation ? reservation.reservation_code : null; inscriptionDTO.color = reservation ? reservation.color : null; - inscriptionDTO.description = ((reservation ? reservation.description : "Entrada").toUpperCase() + (lodash.words(inscription.type).includes("online") ? " online" : "")); + inscriptionDTO.description = + (reservation ? reservation.description : "Entrada").toUpperCase() + + (lodash.words(inscription.type).includes("online") ? " online" : ""); inscriptionDTO.qrConfig = null; inscriptionDTO.qrCode = null; if (user) { - //Era para mailchimp + //Era para mailchimp /// inscriptionDTO.marketing_memberId = inscription.marketing_memberId ? inscription.marketing_memberId : null; inscriptionDTO.email = user.email; inscriptionDTO.name = user.name; inscriptionDTO.surname = user.surname; inscriptionDTO.userId = user.id; - inscriptionDTO.entity = reservation && reservation.Entity ? reservation.Entity.name : (user.Entity ? user.Entity.name : user.entityId); - }; - + inscriptionDTO.entity = + reservation && reservation.Entity ? reservation.Entity.name : user.Entity ? user.Entity.name : user.entityId; + } } - console.log('*******SALGO****', inscriptionDTO); + console.log("*******SALGO****", inscriptionDTO); return inscriptionDTO; } function generateHeaderMail(member) { let headerMail = null; let AsuntoOnline = lodash.words(member.type).includes("online") ? "Inscripción online" : ""; - let AsuntoOnsite = member.validated ? "Entrada" : (lodash.words(member.type).includes("group") ? "Pendiente de confirmación" : "Lista de espera"); + let AsuntoOnsite = member.validated + ? "Entrada" + : lodash.words(member.type).includes("group") + ? "Pendiente de confirmación" + : "Lista de espera"; if (member) { headerMail = { to: member.email, name: member.name + " " + member.surname, subject: - ((AsuntoOnline === "") ? AsuntoOnsite : AsuntoOnline) + " para el congreso " + member.event_name + " confirmada", + (AsuntoOnline === "" ? AsuntoOnsite : AsuntoOnline) + " para el congreso " + member.event_name + " confirmada", }; } @@ -75,7 +82,6 @@ function generateHeaderMail(member) { } function generateHeaderMailReservation(reservation) { - function _getDestinationMail() { if (lodash.isNull(reservation.Entity)) { return reservation.contact_email; @@ -98,12 +104,12 @@ function generateHeaderMailReservation(reservation) { }; } } - console.log('generateHeaderMailReservation>>>>>>>', headerMail); + console.log("generateHeaderMailReservation>>>>>>>", headerMail); return headerMail; } function generateBodyMailReservation(reservation) { - console.log('generateBodyMailReservation>>>>>>>', reservation); + console.log("generateBodyMailReservation>>>>>>>", reservation); const event = reservation.Event ? reservation.Event : reservation.event; let bodyMail = null; if (reservation) { @@ -115,14 +121,18 @@ function generateBodyMailReservation(reservation) { reservationDescription: reservation.description, }; } - console.log('generateBodyMailReservation>>>>>>>', bodyMail); + console.log("generateBodyMailReservation>>>>>>>", bodyMail); return bodyMail; } function generateBodyMail(member) { //console.log('>>>generateBodyMail>>>>> ', member); let bodyMail = null; - let tipoEntrada = lodash.words(member.type).includes("online") ? "Inscripción online confirmada" : (member.validated ? "Entrada" : "Lista de espera"); + let tipoEntrada = lodash.words(member.type).includes("online") + ? "Inscripción online confirmada" + : member.validated + ? "Entrada" + : "Lista de espera"; if (member) { bodyMail = { @@ -133,15 +143,15 @@ function generateBodyMail(member) { color: member.qrConfig.color, codeTicket: member.code_ticket, eventName: member.event_name, - dateEvent: moment(member.event_date).format("D [de] MMMM [de] YYYY"), + venueName: member.venue_name, + dateEvent: moment(member.event_date).format("D [de] MMMM [de] YYYY, [a las] HH:mm"), dateInscription: moment(member.date_inscription).format("DD/MM/YY HH:mm "), }; } - //console.log('>>>retunr>>>>> ', bodyMail); + //console.log('>>>retunr>>>>> ', bodyMail); return bodyMail; } - async function sendEmailConfirm(dataUser, dataInscription) { dataInscription.user = dataUser.userResult.user; const isOnline = lodash.words(dataInscription.type).includes("online"); @@ -155,17 +165,14 @@ async function sendEmailConfirm(dataUser, dataInscription) { //console.log(headerMail, bodyMail); try { - if (isOnline) - emailHelper.sendTicketOnline(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)) - else - if (dataInscription.inscription.validated) - emailHelper.sendTicket(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)); - else { - if (lodash.words(mailDTO.type).includes("group")) - emailHelper.sendPendienteConfirmacion(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)) - else - emailHelper.sendListaEspera(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)); - }; + if (isOnline) emailHelper.sendTicketOnline(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)); + else if (dataInscription.inscription.validated) + emailHelper.sendTicket(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)); + else { + if (lodash.words(mailDTO.type).includes("group")) + emailHelper.sendPendienteConfirmacion(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)); + else emailHelper.sendListaEspera(generateHeaderMail(mailDTO), generateBodyMail(mailDTO)); + } } catch (error) { console.log("No se ha podido mandar email con entrada>>> ", error); } @@ -185,12 +192,13 @@ async function sendEmailCancelate(inscription) { console.log("Mandamos mail con la cancelacion>>>>>>>>>>>>>>>>>>>>>>>>>>>"); try { emailHelper.sendCancelacion(headerMail, generateBodyMail(mailDTO)); - } catch (error) { console.log("No se ha podido mandar email con cancelación") }; + } catch (error) { + console.log("No se ha podido mandar email con cancelación"); + } return true; } - /*async function _sendInscriptionEmail(dataInscription, member) { let mailDTO = _generateMailDTO(inscription); member.qrConfig = QRHelper.generateQRConfig(member); @@ -210,7 +218,10 @@ async function sendEmailCancelate(inscription) { async function sendReservationEmail(reservation) { try { - emailHelper.sendReservationCode(generateHeaderMailReservation(reservation), generateBodyMailReservation(reservation)); + emailHelper.sendReservationCode( + generateHeaderMailReservation(reservation), + generateBodyMailReservation(reservation) + ); } catch (error) { console.log("No se ha podido mandar email _sendReservationEmail", error); } @@ -218,13 +229,15 @@ async function sendReservationEmail(reservation) { async function sendReservationCollegeEmail(reservation) { try { - emailHelper.sendReservationCodeCollege(generateHeaderMailReservation(reservation), generateBodyMailReservation(reservation)); + emailHelper.sendReservationCodeCollege( + generateHeaderMailReservation(reservation), + generateBodyMailReservation(reservation) + ); } catch (error) { console.log("No se ha podido mandar email _sendReservationCodeCollege", error); } } - module.exports = { sendEmailConfirm, sendEmailCancelate, @@ -235,4 +248,3 @@ module.exports = { generateBodyMail, generateBodyMailReservation, }; -