diff --git a/core/controllers/index.js b/core/controllers/index.js index acd0f63..7a74066 100644 --- a/core/controllers/index.js +++ b/core/controllers/index.js @@ -76,10 +76,13 @@ const generateControllers = (service, extraControllers = {}, options = {}) => { return async (req, res, next) => { const params = extractParamsFromRequest(req, res, _options.params.count); try { - //Asignamos el usuario que crea el elemento - req.body.userId = req.user.id; - const values = Object.assign({}, params.params, req.body); - console.log('SERVICE CREATE ->', values); + //Asignamos el usuario que crea el elemento si viene + req.body.userId = (req.user)? req.user.id : null; + //Añadimos los paraqmetros que vienen por url + let values = Object.assign({}, params.params, req.body); + //Quitamos el campo id si viniera, para que no de un conflicto con el id autoinc + if (values.id) delete values.id; + console.log('>> SERVICE CREATE ->', values); const result = await service.create(values, buildContext(req, config)); return handleResultResponse(result, null, null, res, httpStatus.CREATED) } catch (error) { diff --git a/helpers/mail.helper.js b/helpers/mail.helper.js index 79506e0..9ef5996 100644 --- a/helpers/mail.helper.js +++ b/helpers/mail.helper.js @@ -79,9 +79,10 @@ function sendTicket(header, values) { "qrCode": values.qrCode, "codeTicket": values.codeTicket, "eventName": values.eventName, + "dateEvent": values.dateEvent, "dateInscription": values.dateInscription, "color": (values.color)? values.color : 'gray', - "name": header.name, + "nameInscription": header.name, } }; @@ -101,8 +102,10 @@ function sendListaEspera(header, values) { "Variables": { "tipoEntrada": values.tipoEntrada, "eventName": values.eventName, + "dateEvent": values.dateEvent, "dateInscription": values.dateInscription, "color": (values.color) ? values.color : 'gray', + "nameInscription": header.name, } }; @@ -122,8 +125,10 @@ function sendCancelacion(header, values) { "Variables": { "tipoEntrada": values.tipoEntrada, "eventName": values.eventName, + "dateEvent": values.dateEvent, "dateInscription": values.dateInscription, "color": (values.color) ? values.color : 'gray', + "nameInscription": header.name, } }; diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index 0fb634f..303f143 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -88,7 +88,8 @@ function generateBodyMail (member) { color: member.qrConfig.color, codeTicket: member.code_ticket, eventName: member.event_name, - dateInscription: moment(member.event_date).format('D [de] MMMM [de] YYYY'), + dateEvent: moment(member.event_date).format('D [de] MMMM [de] YYYY'), + dateInscription: moment(member.date_inscription).format('DD/MM/YY HH:mm '), }; } return bodyMail; @@ -375,7 +376,7 @@ console.log('CREATE INSCRIPTION>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>< ', params); //Iniciamos entidades relacionadas con la inscripción. let dataUser = { id: (req.user) ? req.user.id : null, - phone: (req.user) ? req.user.phone : null, //((req.body.phone != '+34') ? req.body.phone : null), + phone: (req.user) ? req.user.phone : null, //((req.body.phone != '+34') ? req.body.phone : null), lo quitamos de momento por la de movistar name: (req.user) ? req.user.name : req.body.name, surname: (req.user) ? req.user.surname : req.body.surname, email: (req.user) ? req.user.email : req.body.email, diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index 9f53fff..ac83964 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -368,6 +368,16 @@ routes.get('/admin/events/:eventId/partners/:entityId/reservations', eventReservationController.find(), ); +routes.get('/admin/events/:eventId/questions', + isAdministratorUser, + // PaginateMiddleware.middleware(), + SortMiddleware.middleware({ default: "-createdAt" }), + eventQuestionController.find({ + scopes: ['includeUser', 'includeSpeaker'], + }), +); + + routes.get('/admin/reservations/:id', isAdministratorUser, //SchemaValidator(eventValidation.ReservationInputType, true), diff --git a/modules/events/events_questions.model.js b/modules/events/events_questions.model.js index c59c97d..075df12 100644 --- a/modules/events/events_questions.model.js +++ b/modules/events/events_questions.model.js @@ -38,8 +38,33 @@ module.exports = function (sequelize, DataTypes) { EventQuestion.associate = function (models) { EventQuestion.Event = EventQuestion.belongsTo(models.Event, { foreignKey: 'eventId' }); EventQuestion.Speaker = EventQuestion.belongsTo(models.Speaker, { foreignKey: 'speakerId' }); - EventQuestion.UserCreate = EventQuestion.belongsTo(models.User, { foreignKey: 'userId' }); + EventQuestion.User = EventQuestion.belongsTo(models.User, { foreignKey: 'userId' }); }; + EventQuestion.addScope('includeUser', () => { + return { + include: [{ + model: sequelize.models.User, + }], + } + }); + + EventQuestion.addScope('includeSpeaker', () => { + return { + include: [{ + model: sequelize.models.Speaker, + include: [{ + model: sequelize.models.Multimedia, + as: { singular: 'multimedia', plural: 'multimedias' }, + required: false, + include: [{ + model: sequelize.models.MultimediaFile, + as: "multimediaFile" + }] + }] + }] + } + }); + return EventQuestion; }; \ No newline at end of file