This commit is contained in:
David Arranz 2019-08-30 12:03:56 +02:00
parent ff1d371897
commit 749f29dbb1
8 changed files with 71 additions and 33 deletions

View File

@ -64,7 +64,7 @@ function send(header, body) {
function sendTicket(header, values) { function sendTicket(header, values) {
const body = { const body = {
"TemplateID": 978886, "TemplateID": 980158,
"TemplateLanguage": true, "TemplateLanguage": true,
"TemplateErrorDeliver": true, "TemplateErrorDeliver": true,
"TemplateErrorReporting": { "TemplateErrorReporting": {
@ -85,6 +85,27 @@ function sendTicket(header, values) {
return send(header, body); 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 * Enviar un email
* @header * @header
@ -110,5 +131,7 @@ function sendMail(header, values) {
module.exports = { module.exports = {
sendMail, sendMail,
sendTicket sendTicket,
sendListaEspera,
}; };

View File

@ -113,15 +113,12 @@ function addMember(listId, member) {
}); });
}; };
/*
function deleteMember(listId, memberId) { function deleteMember(listId, memberId) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
logger.debug('deleteMember => ', '/lists/' + listId + '/members/' + memberId); logger.debug('deleteMember => ', '/lists/' + listId + '/members/' + memberId);
mailchimp.delete('/lists/' + listId + '/members/' + memberId) mailchimp.delete('/lists/' + listId + '/members/' + memberId)
.then(function (results) { .then(function (results) {
resolve(results); resolve(results);
}) })
.catch(function (error) { .catch(function (error) {
if (error.status == 404) { // Miembro no existe 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.getMembers = getMembers;
module.exports.addMember = addMember;
//module.exports.deleteMember = deleteMember;

View File

@ -153,13 +153,20 @@ console.log(inscription);
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion borrada'); console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion borrada');
const EventOrReservationChangeId = ((inscription.reservationId) ? inscription.reservationId : ((inscription.overflowEventId) ? inscription.overflowEventId : inscription.eventId)); const EventOrReservationChangeId = ((inscription.reservationId) ? inscription.reservationId : ((inscription.overflowEventId) ? inscription.overflowEventId : inscription.eventId));
let NewConfirmed = 0; let NewConfirmed = 0;
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>', inscription.reservationId); let marketingListId = null;
if (inscription.reservationId) console.log('Tengo reservation>>>>>>>>>>>>>>>>>>', inscription.reservationId);
if (inscription.reservationId){
NewConfirmed = await eventInscriptionService._getCountInscriptionsWithReservation(EventOrReservationChangeId) NewConfirmed = await eventInscriptionService._getCountInscriptionsWithReservation(EventOrReservationChangeId)
else if (inscription.overflowEventId) marketingListId = (await eventReservationService._getReservaById(EventOrReservationChangeId)).marketing_list;
NewConfirmed = await eventInscriptionService._getCountInscriptionsWithOverflowEventId(EventOrReservationChangeId) }
else 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); NewConfirmed = await eventInscriptionService._getCountInscriptionsWithoutReservationAndOverflow(EventOrReservationChangeId);
marketingListId = (await eventService._getEvent(EventOrReservationChangeId)).marketing_list;
}
//Actualizamos aforo del evento o de la reserva //Actualizamos aforo del evento o de la reserva
if (inscription.reservationId){ if (inscription.reservationId){
@ -172,8 +179,9 @@ console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion borrada');
} }
//FALTA //Eliminamos miembro de la lista de mailchimp a la que está asociado
//_deleteMember(); await eventInscriptionService._deleteMember(marketingListId, inscription.marketing_memberId);
return handleResultResponse("Inscripción eliminada", null, params, res, httpStatus.DELETEOK); return handleResultResponse("Inscripción eliminada", null, params, res, httpStatus.DELETEOK);
} }
else else
@ -465,8 +473,10 @@ console.log(member);
} }
console.log(headerMail, bodyMail); console.log(headerMail, bodyMail);
// if ((member.validated)) if (member.validated)
emailHelper.sendTicket(headerMail, bodyMail); emailHelper.sendTicket(headerMail, bodyMail)
else
emailHelper.sendListaEspera(headerMail, bodyMail);
return handleResultResponse(await dataInscription.inscription.toJSON(), null, params, res, httpStatus.CREATED) return handleResultResponse(await dataInscription.inscription.toJSON(), null, params, res, httpStatus.CREATED)
}, },

View File

@ -90,19 +90,6 @@ const extraMethods = {
}); });
}, },
_deleteMember: () => {
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); module.exports = generateService(models.Event, extraMethods);

View File

@ -188,6 +188,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) => { _getInscriptionsExcel: (user, eventId, callback) => {
models.EventInscription.findAll({ models.EventInscription.findAll({
where: { where: {

View File

@ -13,6 +13,12 @@ const cdnHelper = require('../../helpers/cdn.helper');
const extraMethods = { const extraMethods = {
_getReservaById: (Id) => {
return models.EventReservation.findOne({
where: { id: Id },
})
},
_getReservaByCode: (eventId, code) => { _getReservaByCode: (eventId, code) => {
return models.EventReservation.findOne({ return models.EventReservation.findOne({
where: { reservation_code: code, eventId: eventId }, where: { reservation_code: code, eventId: eventId },