From 4d8758b10013ed064dbcaae9b14fcfc785b39d18 Mon Sep 17 00:00:00 2001 From: Florian Schmidt Date: Mon, 2 Apr 2018 12:57:50 +0200 Subject: [PATCH] Also close registration for sponsors on self-signup --- .../resources/translations/translations.de.js | 7 ++++- .../resources/translations/translations.en.js | 7 ++++- src/server/controller/SponsoringController.js | 9 +++++++ src/server/routes/dynamic.js | 5 +++- .../register/sponsor-closed.handlebars | 27 +++++++++++++++++++ 5 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 src/server/views/dynamic/register/sponsor-closed.handlebars diff --git a/src/common/resources/translations/translations.de.js b/src/common/resources/translations/translations.de.js index 6348f86e..764e545a 100644 --- a/src/common/resources/translations/translations.de.js +++ b/src/common/resources/translations/translations.de.js @@ -373,7 +373,12 @@ module.exports = { }, "CLOSED": { "HEADLINE": "Anmeldung geschlossen", - "DESCRIPTION": "Leider ist die Anmeldung als Teilnehmer bei BreakOut 2018 nicht mehr offen :( Du kannst dich aber noch als Sponsor anmelden und so den EinDollarBrille e.V. unterstützen. Trage dich doch in unseren Newsletter ein, um beim nächsten safe BreakOut dabei zu sein!", + "DESCRIPTION": "Leider ist die Anmeldung als Teilnehmer bei BreakOut 2018 gerade nicht geöffnet :( Trag dich aber gerne in unseren Newsletter ein, um immer auf dem aktuellsten Stand zu bleiben!", + "LINK_DESCRIPTION": "ZURÜCK ZUR WEBSEITE" + }, + "SPONSOR-CLOSED": { + "HEADLINE": "Sponsoren-Anmeldung geschlossen", + "DESCRIPTION": "Leider ist die Registrierung als Sponsor bei BreakOut 2018 gerade nicht geöffnet :(", "LINK_DESCRIPTION": "ZURÜCK ZUR WEBSEITE" }, "MESSAGE": { diff --git a/src/common/resources/translations/translations.en.js b/src/common/resources/translations/translations.en.js index 18344f24..275a5012 100644 --- a/src/common/resources/translations/translations.en.js +++ b/src/common/resources/translations/translations.en.js @@ -373,9 +373,14 @@ module.exports = { }, "CLOSED": { "HEADLINE": "Registration closed", - "DESCRIPTION": "The registration for BreakOut 2018 is closed :( You can still register as a sponsor and support One Dollar Glasses. Sign up for our newsletter to make sure you don't miss the next BreakOut.", + "DESCRIPTION": "The registration for BreakOut 2018 is currently closed :( Sign up for our newsletter to make sure you don't miss any news about BreakOut.", "LINK_DESCRIPTION": "BACK TO THE WEBSITE" }, + "SPONSOR-CLOSED": { + "HEADLINE": "Registration for Sponsors closed", + "DESCRIPTION": "The registration as a sponsor is currently closed :(", + "LINK_DESCRIPTION": "ZURÜCK ZUR WEBSEITE" + }, "MESSAGE": { "HEADLINE": "Messages", "BTN_ADD": "Create new group message", diff --git a/src/server/controller/SponsoringController.js b/src/server/controller/SponsoringController.js index e1cc5064..69f5dfce 100644 --- a/src/server/controller/SponsoringController.js +++ b/src/server/controller/SponsoringController.js @@ -392,4 +392,13 @@ sponsoring.invoice.getByTeam = (req) => co(function*() { throw ex; }); +sponsoring.sponsoringIsOpenForAnyEvent = (req, res, next) => co(function *(){ + const events = yield api.event.all(); + if (events.some(event => event.allowNewSponsoring)) { + next(); + } else { + res.redirect('/sponsor-closed'); + } +}); + module.exports = sponsoring; \ No newline at end of file diff --git a/src/server/routes/dynamic.js b/src/server/routes/dynamic.js index 65813e70..8892b212 100644 --- a/src/server/routes/dynamic.js +++ b/src/server/routes/dynamic.js @@ -4,6 +4,7 @@ const DynamicController = require('../controller/DynamicController'); const AuthenticationController = require('../controller/AuthenticationController'); const StaticController = require('../controller/StaticController.js'); const TeamController = require('../controller/TeamController'); +const SponsoringController = require('../controller/SponsoringController'); const Router = require('co-router'); const multer = require('multer'); @@ -50,7 +51,9 @@ router.get('/reset/:email/:token', funnelTemplate('reset-pw')); router.get('/closed', funnelTemplate('closed')); -router.get('/sponsor', session.isUser, redirectIfSponsor, funnelTemplate('sponsor')); +router.get('/sponsor-closed', funnelTemplate('sponsor-closed')); + +router.get('/sponsor', session.isUser, SponsoringController.sponsoringIsOpenForAnyEvent, redirectIfSponsor, funnelTemplate('sponsor')); router.get('/login', StaticController.renderLandingpage); // client-side routing diff --git a/src/server/views/dynamic/register/sponsor-closed.handlebars b/src/server/views/dynamic/register/sponsor-closed.handlebars new file mode 100644 index 00000000..01b59028 --- /dev/null +++ b/src/server/views/dynamic/register/sponsor-closed.handlebars @@ -0,0 +1,27 @@ +
+
+
+
+ +
+
+
+
+

{{__ 'HEADLINE'}}

+
+
+
+
+

{{__ 'DESCRIPTION'}}

+
+
+ + +
+
\ No newline at end of file