From e3701187d665c60e6d9df73a2d1c197fc2486125 Mon Sep 17 00:00:00 2001 From: Rudi van Hierden Date: Thu, 5 Aug 2021 10:55:07 +0200 Subject: [PATCH] Add components URL to global settings This allows the Openstad Components URL (set through .env) to be overwritten on a per-site basis. # Conflicts: # packages/cms/lib/modules/choices-guide-result-widgets/index.js # packages/cms/lib/modules/choices-guide-widgets/index.js # packages/cms/lib/modules/ideas-on-map-widgets/index.js # packages/cms/lib/modules/previous-next-button-block-widgets/index.js --- .../cms/lib/modules/choices-guide-result-widgets/index.js | 2 +- packages/cms/lib/modules/choices-guide-widgets/index.js | 2 +- packages/cms/lib/modules/ideas-on-map-widgets/index.js | 2 +- .../cms/lib/modules/openstad-global/lib/arrangeFields.js | 2 +- packages/cms/lib/modules/openstad-global/lib/fields.js | 8 ++++++++ .../modules/previous-next-button-block-widgets/index.js | 2 +- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/cms/lib/modules/choices-guide-result-widgets/index.js b/packages/cms/lib/modules/choices-guide-result-widgets/index.js index e5689d063..24465d64b 100644 --- a/packages/cms/lib/modules/choices-guide-result-widgets/index.js +++ b/packages/cms/lib/modules/choices-guide-result-widgets/index.js @@ -62,7 +62,7 @@ module.exports = { widgets.forEach((widget) => { let apiUrl = self.apos.settings.getOption(req, 'apiUrl') widget.config = JSON.stringify(createConfig(widget, req.data, req.session.jwt, apiUrl, req.data.siteUrl + '/oauth/login?returnTo=' + encodeURIComponent(req.url), apiUrl + '/oauth/logout' )); - widget.openstadComponentsCdn = self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; + widget.openstadComponentsCdn = (req && req.data && req.data.global && req.data.global.openstadComponentsUrl) || self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; const containerId = self.apos.utils.generateId(); widget.containerId = containerId; widget.cssHelperClassesString = widget.cssHelperClasses ? widget.cssHelperClasses.join(' ') : ''; diff --git a/packages/cms/lib/modules/choices-guide-widgets/index.js b/packages/cms/lib/modules/choices-guide-widgets/index.js index 42da4a915..9e354ced0 100644 --- a/packages/cms/lib/modules/choices-guide-widgets/index.js +++ b/packages/cms/lib/modules/choices-guide-widgets/index.js @@ -42,7 +42,7 @@ module.exports = { widgets.forEach((widget) => { widget.config = JSON.stringify(createConfig(widget, req.data, req.session.jwt, self.apos.settings.getOption(req, 'apiUrl'), req.data.siteUrl + '/oauth/login?returnTo=' + encodeURIComponent(req.url) )); - widget.openstadComponentsCdn = self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; + widget.openstadComponentsCdn = (req && req.data && req.data.global && req.data.global.openstadComponentsUrl) || self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; const containerId = self.apos.utils.generateId(); widget.containerId = containerId; widget.cssHelperClassesString = widget.cssHelperClasses ? widget.cssHelperClasses.join(' ') : ''; diff --git a/packages/cms/lib/modules/ideas-on-map-widgets/index.js b/packages/cms/lib/modules/ideas-on-map-widgets/index.js index 08863e08d..d56f6341d 100644 --- a/packages/cms/lib/modules/ideas-on-map-widgets/index.js +++ b/packages/cms/lib/modules/ideas-on-map-widgets/index.js @@ -78,7 +78,7 @@ module.exports = { let config = createConfig(widget, req.data, req.session.jwt, self.apos.settings.getOption(req, 'apiUrl'), req.data.siteUrl + '/oauth/login?{returnTo}', imageProxy, self.apos ); widget.config = JSON.stringify(config); - widget.openstadComponentsCdn = self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; + widget.openstadComponentsCdn = (req && req.data && req.data.global && req.data.global.openstadComponentsUrl) || self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn;; const containerId = self.apos.utils.generateId(); widget.containerId = containerId; diff --git a/packages/cms/lib/modules/openstad-global/lib/arrangeFields.js b/packages/cms/lib/modules/openstad-global/lib/arrangeFields.js index 3721cd0f8..1d7530833 100644 --- a/packages/cms/lib/modules/openstad-global/lib/arrangeFields.js +++ b/packages/cms/lib/modules/openstad-global/lib/arrangeFields.js @@ -12,7 +12,7 @@ module.exports = [ { name: 'api', label: 'Url & api instellingen', - fields: ['siteId', 'ideaSlug', 'ideaOverviewSlug', 'editIdeaUrl', 'cacheIdeas'] + fields: ['siteId', 'ideaSlug', 'ideaOverviewSlug', 'editIdeaUrl', 'cacheIdeas', 'openstadComponentsUrl'] }, { diff --git a/packages/cms/lib/modules/openstad-global/lib/fields.js b/packages/cms/lib/modules/openstad-global/lib/fields.js index 5bbf86b6a..bf7d7794f 100644 --- a/packages/cms/lib/modules/openstad-global/lib/fields.js +++ b/packages/cms/lib/modules/openstad-global/lib/fields.js @@ -751,4 +751,12 @@ module.exports = [ choices: rightsChoices, def: 'member' },*/ + + { + type: 'string', + name: 'openstadComponentsUrl', + label: 'Openstad Components URL', + help: 'Specify the URL where the Openstad Components (choice guide, ideas on map etc.) are loaded from. Leave empty to use the default URL.', + def: '' + }, ]; diff --git a/packages/cms/lib/modules/previous-next-button-block-widgets/index.js b/packages/cms/lib/modules/previous-next-button-block-widgets/index.js index 9824e2b14..83d0094fb 100644 --- a/packages/cms/lib/modules/previous-next-button-block-widgets/index.js +++ b/packages/cms/lib/modules/previous-next-button-block-widgets/index.js @@ -47,7 +47,7 @@ module.exports = { nextUrl: widget.nextLabel && req.data.siteUrl + widget.nextUrl, nextLabel: widget.nextLabel, }); - widget.openstadComponentsCdn = self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; + widget.openstadComponentsCdn = (req && req.data && req.data.global && req.data.global.openstadComponentsUrl) || self.apos.settings.getOption(req, 'siteConfig').openstadComponentsCdn; const containerId = self.apos.utils.generateId(); widget.containerId = containerId; widget.cssHelperClassesString = widget.cssHelperClasses ? widget.cssHelperClasses.join(' ') : '';