This commit is contained in:
David Arranz 2019-09-12 13:50:39 +02:00
parent d37b3fd84d
commit c5473233d5
2 changed files with 74 additions and 75 deletions

View File

@ -148,96 +148,83 @@ console.log(params, req.user.level);
}, },
validateInscription: async (req, res, next) => { validateInscription: async (req, res, next) => {
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><< validateInscription');
const params = extractParamsFromRequest(req, res, {}); const params = extractParamsFromRequest(req, res, {});
const user = req.user; const user = req.user;
const inscriptionId = params.params.id;
console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1validar inscription:', params);
console.log('usuario:', user);
try { try {
const inscription = await eventInscriptionService._getInscriptionById(inscriptionId); const inscription = await eventInscriptionService._getInscriptionById(inscriptionId);
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion a borrar:'); console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion a Validar:');
console.log(inscription); console.log(inscription);
/* if (!inscription || (inscription.userId !== user.id))
return handleResultResponse("Inscription no encontrada", null, params, res, httpStatus.NOT_FOUND);
//Borramos inscripcion y descontamos asistentes //Si la inscripcion no existe o ya está validada no hago nada
if (await eventInscriptionService._deleteInscription(inscription.id) > 0) { if (!inscription)
console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion borrada'); return handleResultResponse("Inscription no encontrada", null, params, res, httpStatus.NOT_FOUND)
const EventOrReservationChangeId = ((inscription.reservationId) ? inscription.reservationId : ((inscription.overflowEventId) ? inscription.overflowEventId : inscription.eventId)); else if (inscription.validated)
let NewConfirmed = 0; return handleResultResponse("Inscripción validada", null, params, res, httpStatus.OK);
let marketingListId = null;
if (inscription.reservationId != null) { //Si la inscripción es lista de espera de una reserva
console.log('Tengo reservation>>>>>>>>>>>>>>>>>>', inscription.reservationId); if (inscription.reservationId)
NewConfirmed = await eventInscriptionService._getCountInscriptionsWithReservation(EventOrReservationChangeId) {
marketingListId = (await eventReservationService._getReservaById(EventOrReservationChangeId)).marketing_list; return handleResultResponse("Inscription a validar viene por reserva hay que implementarlo", null, params, res, httpStatus.NOT_FOUND);
} // console.log('Tengo reservation>>>>>>>>>>>>>>>>>>', inscription.reservationId);
else if (inscription.overflowEventId != null) { // NewConfirmed = await eventInscriptionService._getCountInscriptionsWithReservation(EventOrReservationChangeId)
console.log('Tengo overflow>>>>>>>>>>>>>>>>>>', inscription.overflowEventId); // marketingListId = (await eventReservationService._getReservaById(EventOrReservationChangeId)).marketing_list;
NewConfirmed = await eventInscriptionService._getCountInscriptionsWithOverflowEventId(EventOrReservationChangeId); // if (!await eventReservationService._updateConfirmedReservation(EventOrReservationChangeId, NewConfirmed))
marketingListId = (await eventService._getEvent(EventOrReservationChangeId)).marketing_list; // return handleResultResponse("Error al eliminar inscripción, no puedo cambiar confirmados a la reserva asociada", null, params, res, httpStatus.NOT_FOUND);
} }
else if (inscription.eventId != null) { //Si la inscripcion es lista de espera del evento
NewConfirmed = await eventInscriptionService._getCountInscriptionsWithoutReservationAndOverflow(EventOrReservationChangeId); else if (inscription.overflowEventId)
marketingListId = (await eventService._getEvent(EventOrReservationChangeId)).marketing_list; {
} const OverflowEventId = inscription.overflowEventId;
//Actualizamos aforo del evento o de la reserva if (await eventInscriptionService._validateInscription(inscription.id) > 0) {
if (inscription.reservationId != null) { console.log('>>>>>>>>>>>>>>>>>>>>>>>>>>>>><Inscripcion validada');
console.log('>>>>>>>>>>>>>>Voy a actualizar aforo reserva', EventOrReservationChangeId); var NewConfirmedOverflow = await eventInscriptionService._getCountInscriptionsWithOverflowEventId(OverflowEventId);
console.log('>>>>>>>>>>>>>> ', NewConfirmed); var NewConfirmedEvent = await eventInscriptionService._getCountInscriptionsWithoutReservationAndOverflow(inscription.eventId);
if (!await eventReservationService._updateConfirmedReservation(EventOrReservationChangeId, NewConfirmed)) marketingListIdOverflow = (await eventService._getEvent(OverflowEventId)).marketing_list;
return handleResultResponse("Error al eliminar inscripción, no puedo cambiar confirmados a la reserva asociada", null, params, res, httpStatus.NOT_FOUND); marketingListIdEvent = (await eventService._getEvent(inscription.eventId)).marketing_list;
}
else {
console.log('>>>>>>>>>>>>>>Voy a actualizar aforo evento', EventOrReservationChangeId);
console.log('>>>>>>>>>>>>>> ', NewConfirmed);
if (!await eventService._updateConfirmedEvent(EventOrReservationChangeId, NewConfirmed))
return handleResultResponse("Error al eliminar inscripción, no puedo cambiar confirmados a la inscripcion", null, params, res, httpStatus.NOT_FOUND);
} if (!await eventService._updateConfirmedEvent(OverflowEventId, NewConfirmedOverflow))
return handleResultResponse("Error al validad inscripción, no puedo cambiar confirmados a la lista de espera", null, params, res, httpStatus.NOT_FOUND);
if (!await eventService._updateConfirmedEvent(inscription.eventId, NewConfirmedEvent))
return handleResultResponse("Error al validad inscripción, no puedo cambiar confirmados al evento", null, params, res, httpStatus.NOT_FOUND);
//Eliminamos miembro de la lista de mailchimp a la que está asociado //Eliminamos miembro de la lista de mailchimp a la que está asociado
await eventInscriptionService._deleteMember(marketingListId, inscription.marketing_memberId); // await eventInscriptionService._deleteMember(marketingListIdOverflow, inscription.marketing_memberId);
/*Mandar correo de confirmacion de desinscripcion const userInscription = inscription.user;
var headerMail = { //Mandar correo de confirmacion de desinscripcion
to: user.email, var headerMail = {
name: user.name + ' ' + user.surname, to: userInscription.email,
subject: ((member.validated) ? 'Entrada' : 'Lista de espera') + ' para el congreso ' + dataInscription.event.name + ' confirmada' name: userInscription.name + ' ' + userInscription.surname,
} subject: 'Entrada para el congreso ' + inscription.event.name + ' confirmada'
}
var bodyMail = { var bodyMail = {
tipoEntrada: (member.validated) ? 'Entrada' : 'Lista de espera', tipoEntrada: 'Entrada',
descriptionEntrada: member.description, // descriptionEntrada: member.description,
qrCode: qrCode, // qrCode: qrCode,
color: qrConfig.color, // color: qrConfig.color,
codeTicket: member.code_ticket, // codeTicket: member.code_ticket,
eventName: dataInscription.event.name, eventName: inscription.event.name,
dateInscription: moment(dataInscription.event.init_date).format('D [de] MMMM [de] YYYY'), dateInscription: moment(inscription.event.init_date).format('D [de] MMMM [de] YYYY'),
} }
console.log('Mandamos mail con entrada>>>>>>>>>>>>>>>>>>>>>>>>>>>'); console.log('Mandamos mail con entrada>>>>>>>>>>>>>>>>>>>>>>>>>>>');
console.log(headerMail, bodyMail); console.log(headerMail, bodyMail);
try { try {
if (member.validated) emailHelper.sendTicket(headerMail, bodyMail)
emailHelper.sendTicket(headerMail, bodyMail) } catch (error) {
else console.log('No se ha podido mandar email con entrada');
emailHelper.sendListaEspera(headerMail, bodyMail); };
} catch (error) { }
console.log('No se ha podido mandar email con entrada');
};
*/
return handleResultResponse("Inscripción validada", null, params, res, httpStatus.OK);
}
return handleResultResponse("Inscripción validada", null, params, res, httpStatus.OK); else
//} return handleResultResponse("No se pudo validar inscripción", null, params, res, httpStatus.NOT_FOUND);
// else
// return handleResultResponse("No se pudo eliminar inscripción", null, params, res, httpStatus.NOT_FOUND);
} catch (error) { } catch (error) {
return handleResultResponse("Error al validar inscripción", null, params, res, httpStatus.NOT_FOUND); return handleResultResponse("Error al validar inscripción", null, params, res, httpStatus.NOT_FOUND);

View File

@ -169,6 +169,18 @@ const extraMethods = {
}); });
}, },
//Validamos la inscripcion la quitamos de las lista de espera y asignamos el usuario que la ha validado
_validateInscription: (inscriptionId, userId) => {
return models.EventInscription.update({
validated: true,
overflowEventId: null,
validateUserId: userId,
},
{where: {
id: inscriptionId,
}});
},
_addMember: (marketingListId, member) => { _addMember: (marketingListId, member) => {
// console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasddddddmemberrrrr1'); // console.log('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasddddddmemberrrrr1');