From 7c6a58cd300deb3a7a114d6dfb04937d4c564949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Thu, 1 Sep 2016 16:42:06 +0200 Subject: [PATCH] Made explicit to recreate named-map-provider --- lib/cartodb/controllers/named_maps.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/lib/cartodb/controllers/named_maps.js b/lib/cartodb/controllers/named_maps.js index b25bf1ba..f4e5ee90 100644 --- a/lib/cartodb/controllers/named_maps.js +++ b/lib/cartodb/controllers/named_maps.js @@ -142,7 +142,7 @@ NamedMapsController.prototype.staticMap = function(req, res) { namedMapProvider = _namedMapProvider; - self.prepareLayerFilterFromPreviewLayers(req.params, namedMapProvider, this); + self.prepareLayerFilterFromPreviewLayers(cdbUser, req, namedMapProvider, this); }, function prepareImageOptions(err) { assert.ifError(err); @@ -190,7 +190,8 @@ NamedMapsController.prototype.staticMap = function(req, res) { ); }; -NamedMapsController.prototype.prepareLayerFilterFromPreviewLayers = function (params, namedMapProvider, callback) { +NamedMapsController.prototype.prepareLayerFilterFromPreviewLayers = function (cdbUser, req, namedMapProvider, callback) { + var self = this; namedMapProvider.getTemplate(function (err, template) { if (err) { return callback(err); @@ -209,12 +210,22 @@ NamedMapsController.prototype.prepareLayerFilterFromPreviewLayers = function (pa } }); - if (layerVisibilityFilter.length) { - // overwrite 'all' default filter - params.layer = layerVisibilityFilter.join(','); + if (!layerVisibilityFilter.length) { + return callback(); } - callback(); + // overwrites 'all' default filter + req.params.layer = layerVisibilityFilter.join(','); + + // recreates the provider + self.namedMapProviderCache.get( + cdbUser, + req.params.template_id, + req.query.config, + req.query.auth_token, + req.params, + callback + ); }); };