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) {
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,
};

View File

@ -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;

View File

@ -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",

View File

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

View File

@ -177,7 +177,7 @@ routes.get('/me/inscriptions/:id',
// Inscription QR Code
routes.get('/me/inscriptions/:id/qr', isLoggedUser,
//cacheSuccesses('1 hour'),
eventController.getQRCodeInscription,
eventController.getQRCodeInscription,
);
/*router.get('/:conferenceId/inscription/:userId/qrimage', function (req, res) {

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);

View File

@ -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({

View File

@ -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 },