From 6b76b5c0d725feac2ffd6a9e1622ab43061f11e6 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 20 Aug 2019 21:13:30 +0200 Subject: [PATCH] a --- modules/events/event.controller.js | 10 ++++++++++ modules/events/event.routes.js | 6 +++++- modules/events/events_reservations.service.js | 19 ++++++++++++++----- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/modules/events/event.controller.js b/modules/events/event.controller.js index a381866..a917ea4 100644 --- a/modules/events/event.controller.js +++ b/modules/events/event.controller.js @@ -125,6 +125,16 @@ console.log(params); } }, + findColleges: async (req, res, next) => { + const params = extractParamsFromRequest(req, res, {}); + try { + const result = await eventReservationService._getColleges(params.params.id); + return handleResultResponse(result, result.count, params, res, httpStatus.OK); + } catch (error) { + return handleErrorResponse(MODULE_NAME, 'findPartners', error, res) + } + }, + deleteInscription: async (req, res, next) => { const params = extractParamsFromRequest(req, res, {}); const user = req.user; diff --git a/modules/events/event.routes.js b/modules/events/event.routes.js index cc8075c..ab2055a 100644 --- a/modules/events/event.routes.js +++ b/modules/events/event.routes.js @@ -266,7 +266,6 @@ routes.get('/tickets/:id/', // Esto da las inscripciones de un evento routes.get('/admin/events/:id/inscriptions', isAdministratorUser, - PaginateMiddleware.middleware(), eventController.getInscriptions, ); @@ -328,6 +327,11 @@ routes.get('/admin/events/:id/partners', eventController.findPartners, ); +routes.get('/admin/events/:id/colleges', + isAdministratorUser, + eventController.findColleges, +); + routes.get('/admin/events/:id/reservations/excel', isAdministratorUser, eventController.getReservationsExcel, diff --git a/modules/events/events_reservations.service.js b/modules/events/events_reservations.service.js index 3b80cb7..8fdbabb 100644 --- a/modules/events/events_reservations.service.js +++ b/modules/events/events_reservations.service.js @@ -24,16 +24,25 @@ const extraMethods = { _getPartners: (eventId) => { return models.EventReservation.findAll({ -// attributes: [ [Sequelize.fn('DISTINCT', Sequelize.col('events_reservations.entityId'), Sequelize.col('events_reservations.eventId')), 'entities']], -// attributes: ['entityId','eventId', 'state'], where: { eventId: eventId }, - include: [{ model: models.Entity }], + include: [{ model: models.Entity, + include: [{ model: models.EntityType, as:'types', where:{alias: 'partner'}}], + }], order: [[{ model: models.Entity }, 'name', 'asc']], - - }) }, + _getColleges: (eventId) => { + return models.EventReservation.findAll({ + where: { eventId: eventId }, + include: [{ + model: models.Entity, + include: [{ model: models.EntityType, as: 'types', where: { alias: 'college' } }], + }], + order: [[{ model: models.Entity }, 'name', 'asc']], + }) + }, + _updateConfirmedReservation: (id, confirmed) => { return new Promise(function (resolve, reject) { models.EventReservation.update(