From 749f29dbb1cbe9799a18ab183296470897f4aa05 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 30 Aug 2019 12:03:56 +0200 Subject: [PATCH] a --- helpers/mail.helper.js | 27 ++++++++++++++++-- helpers/mailchimp.helper.js | 13 ++++----- helpers/messages.json | 2 +- modules/events/event.controller.js | 28 +++++++++++++------ modules/events/event.routes.js | 2 +- modules/events/event.service.js | 13 --------- modules/events/events_inscriptions.service.js | 13 +++++++++ modules/events/events_reservations.service.js | 6 ++++ 8 files changed, 71 insertions(+), 33 deletions(-) diff --git a/helpers/mail.helper.js b/helpers/mail.helper.js index d93b562..e973fce 100644 --- a/helpers/mail.helper.js +++ b/helpers/mail.helper.js @@ -64,7 +64,7 @@ function send(header, body) { function sendTicket(header, values) { const body = { - "TemplateID": 978886, + "TemplateID": 980158, "TemplateLanguage": true, "TemplateErrorDeliver": true, "TemplateErrorReporting": { @@ -85,6 +85,27 @@ function sendTicket(header, values) { return send(header, body); }; +function sendListaEspera(header, values) { + + const body = { + "TemplateID": 980163, + "TemplateLanguage": true, + "TemplateErrorDeliver": true, + "TemplateErrorReporting": { + "Email": "info@rodax-software.com", + "Name": "Air traffic control" + }, + "Variables": { + "tipoEntrada": values.tipoEntrada, + "eventName": values.eventName, + "dateInscription": values.dateInscription, + "color": values.color, + } + }; + + return send(header, body); +}; + /** * Enviar un email * @header @@ -110,5 +131,7 @@ function sendMail(header, values) { module.exports = { sendMail, - sendTicket + sendTicket, + sendListaEspera, + }; \ No newline at end of file diff --git a/helpers/mailchimp.helper.js b/helpers/mailchimp.helper.js index bf6b635..63a4afa 100644 --- a/helpers/mailchimp.helper.js +++ b/helpers/mailchimp.helper.js @@ -113,15 +113,12 @@ function addMember(listId, member) { }); }; -/* - function deleteMember(listId, memberId) { return new Promise(function (resolve, reject) { logger.debug('deleteMember => ', '/lists/' + listId + '/members/' + memberId); mailchimp.delete('/lists/' + listId + '/members/' + memberId) .then(function (results) { resolve(results); - }) .catch(function (error) { if (error.status == 404) { // Miembro no existe @@ -132,10 +129,12 @@ function deleteMember(listId, memberId) { }) }); } -*/ -module.exports.getLists = getLists; +module.exports = { + getLists, + addMember, + deleteMember, +} + //module.exports.getMembers = getMembers; -module.exports.addMember = addMember; -//module.exports.deleteMember = deleteMember; \ No newline at end of file diff --git a/helpers/messages.json b/helpers/messages.json index b2ae87c..7f7b020 100644 --- a/helpers/messages.json +++ b/helpers/messages.json @@ -1,6 +1,6 @@ { "emails": { - "confirmInvitation": { + "confirmInvitation": { "subject": "Tu invitación al congreso {{congreso}} está confirmada.", "body": { "text": "¡Gracias por inscribirte al congreso {{congreso}}!\n\nTienes una plaza confirmada para asistir a este evento. Por favor, si no vas a poder asistir cancela tu reserva para que otra persona pueda asistir.\n\nDos días antes de la fecha del congreso recibirás otro email con tu entrada, la cual deberás presentar en el stand de invitados ubicado en el hall para acceder al mismo.\n\nFundación Lo Que De Verdad Importa.\n", diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index c9c1280..d91c01d 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -153,13 +153,20 @@ console.log(inscription); console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', inscription.reservationId); - if (inscription.reservationId) + let marketingListId = null; +console.log('Tengo reservation>>>>>>>>>>>>>>>>>>', inscription.reservationId); + if (inscription.reservationId){ NewConfirmed = await eventInscriptionService._getCountInscriptionsWithReservation(EventOrReservationChangeId) - else if (inscription.overflowEventId) - NewConfirmed = await eventInscriptionService._getCountInscriptionsWithOverflowEventId(EventOrReservationChangeId) - else + marketingListId = (await eventReservationService._getReservaById(EventOrReservationChangeId)).marketing_list; + } + else if (inscription.overflowEventId) { + NewConfirmed = await eventInscriptionService._getCountInscriptionsWithOverflowEventId(EventOrReservationChangeId); + marketingListId = (await eventService._getEvent(EventOrReservationChangeId)).marketing_list; + } + else if (inscription.eventId) { NewConfirmed = await eventInscriptionService._getCountInscriptionsWithoutReservationAndOverflow(EventOrReservationChangeId); + marketingListId = (await eventService._getEvent(EventOrReservationChangeId)).marketing_list; + } //Actualizamos aforo del evento o de la reserva if (inscription.reservationId){ @@ -172,8 +179,9 @@ console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>> { - return true; - var marketingList = (inscription.type == 'regular') ? inscription.conference.marketingList : inscription.level.partner.marketingList; - return new Promise(function (resolve, reject) { - if (!marketingList) { - resolve(); - } else { - resolve(marketing.deleteMember(marketingList, inscription.marketingMemberId)) - } - }); - }, - - }; module.exports = generateService(models.Event, extraMethods); \ No newline at end of file diff --git a/modules/events/events_inscriptions.service.js b/modules/events/events_inscriptions.service.js index ca4854f..27c0997 100644 --- a/modules/events/events_inscriptions.service.js +++ b/modules/events/events_inscriptions.service.js @@ -187,6 +187,19 @@ const extraMethods = { } }); }, + + + _deleteMember: (marketingListId, marketingMemberId) => { +console.log('Elimino miembro de la lista de milchimp>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<', marketingListId, marketingMemberId); + + return new Promise(function (resolve, reject) { + if ((!marketingListId) || (!marketingMemberId)) { + resolve(); + } else { + resolve(marketing.deleteMember(marketingListId, marketingMemberId)) + } + }); + }, _getInscriptionsExcel: (user, eventId, callback) => { models.EventInscription.findAll({ diff --git a/modules/events/events_reservations.service.js b/modules/events/events_reservations.service.js index 4fe01bd..70a4883 100644 --- a/modules/events/events_reservations.service.js +++ b/modules/events/events_reservations.service.js @@ -13,6 +13,12 @@ const cdnHelper = require('../../helpers/cdn.helper'); const extraMethods = { + _getReservaById: (Id) => { + return models.EventReservation.findOne({ + where: { id: Id }, + }) + }, + _getReservaByCode: (eventId, code) => { return models.EventReservation.findOne({ where: { reservation_code: code, eventId: eventId },