diff --git a/lib/assets/javascripts/cartodb/public_map/index.js b/lib/assets/javascripts/cartodb/public_map/index.js index e0d77b052d..a4a7938aab 100644 --- a/lib/assets/javascripts/cartodb/public_map/index.js +++ b/lib/assets/javascripts/cartodb/public_map/index.js @@ -41,168 +41,168 @@ var FACEBOOK_CARD_IMG_WIDTH = 1200; var FACEBOOK_CARD_IMG_HEIGHT = 630; var element = $('#app'); -function showPasswordProtectedForm () { - var assetsVersion = AssetsVersionHelper.getAssetsVersion(VERSION); - var data = window.CartoConfig.data; - var config = data.config; - - cdb.templates.namespace = 'cartodb/'; - cdb.config.set(config); - - document.title = TITLE({ - title: _t('protected_map.title') - }); - - var view = new PasswordProtectedView({ - vizID: getPublicMapPageId(), - data: data, - assetsVersion: assetsVersion, - handleRedirection: function (password) { - if (window.CartoConfig.data && window.CartoConfig.vizdata) { - showPublicVisualization(password); - } else if (!window.CartoConfig.vizdata) { - getVisualization(password); - } +$(function () { + cdb.init(function () { + function showPasswordProtectedForm () { + var assetsVersion = AssetsVersionHelper.getAssetsVersion(VERSION); + var data = window.CartoConfig.data; + var config = data.config; + + cdb.templates.namespace = 'cartodb/'; + cdb.config.set(config); + + document.title = TITLE({ + title: _t('protected_map.title') + }); + + var view = new PasswordProtectedView({ + vizID: getPublicMapPageId(), + data: data, + assetsVersion: assetsVersion, + handleRedirection: function (password) { + if (window.CartoConfig.data && window.CartoConfig.vizdata) { + showPublicVisualization(password); + } else if (!window.CartoConfig.vizdata) { + getVisualization(password); + } + } + }); + + element.html(view.render().el); } - }); - element.html(view.render().el); -} + function showForbiddenView () { + var assetsVersion = AssetsVersionHelper.getAssetsVersion(VERSION); + var data = window.CartoConfig.data; + var config = data.config; -function showForbiddenView () { - var assetsVersion = AssetsVersionHelper.getAssetsVersion(VERSION); - var data = window.CartoConfig.data; - var config = data.config; + cdb.templates.namespace = 'cartodb/'; + cdb.config.set(config); + document.title = TITLE({ + title: _t('forbidden_map.title') + }); - cdb.templates.namespace = 'cartodb/'; - cdb.config.set(config); - document.title = TITLE({ - title: _t('forbidden_map.title') - }); - - var view = new ForbiddenView({ - data: data, - assetsVersion: assetsVersion - }); + var view = new ForbiddenView({ + data: data, + assetsVersion: assetsVersion + }); - element.html(view.render().el); -} - -function getVisualization (password) { - var params = { - show_permission: true, - show_liked: true, - show_stats: true, - fetch_user: true, - fetch_related_canonical_visualizations: true - }; - - if (password != null) { - params = _.extend({}, params, { - password: password - }); - } - - var vizID = UrlHelper.getVizID(); - - client.getVisualization(vizID, params, function (err, response, data) { - var error; - if (err) { - error = data.responseJSON; + element.html(view.render().el); } - if (err && error.errors_cause && error.errors_cause === 'privacy_password') { - showPasswordProtectedForm(); - } else if (err && error.errors === 'Visualization not viewable') { - showForbiddenView(); - } else { - window.CartoConfig.vizdata = data; - getDerivedVisualizations(data, password); - } - }); -} - -function getDerivedVisualizations (vizdata, password) { - var visualizationsNumber = 3; - - var options = { - per_page: visualizationsNumber, - password: password - }; - - client.getDerivedVisualizations(options, function (err, response, data) { - if (err) { - console.error(err); - return err; - } else { - window.CartoConfig.visualizations = data.visualizations; - showPublicVisualization(password); + function getVisualization (password) { + var params = { + show_permission: true, + show_liked: true, + show_stats: true, + fetch_user: true, + fetch_related_canonical_visualizations: true + }; + + if (password != null) { + params = _.extend({}, params, { + password: password + }); + } + + var vizID = UrlHelper.getVizID(); + + client.getVisualization(vizID, params, function (err, response, data) { + var error; + if (err) { + error = data.responseJSON; + } + + if (err && error.errors_cause && error.errors_cause === 'privacy_password') { + showPasswordProtectedForm(); + } else if (err && error.errors === 'Visualization not viewable') { + showForbiddenView(); + } else { + window.CartoConfig.vizdata = data; + getDerivedVisualizations(data, password); + } + }); } - }); -} - -function showPublicVisualization (password) { - var data = window.CartoConfig.data; - var vizdata = window.CartoConfig.vizdata; - var visualizations = window.CartoConfig.visualizations; - var assetsVersion = AssetsVersionHelper.getAssetsVersion(VERSION); - var assetsBaseUrl = data.config.app_assets_base_url; - var currentUser = data.user_data - ? new cdb.admin.User(data.user_data) - : null; - - var mapOwnerUser = vizdata.permission.owner - ? new cdb.admin.User(vizdata.permission.owner) - : null; - - cdb.templates.namespace = 'cartodb/'; - cdb.config.set(data.config); - - if (currentUser) { - cdb.config.set('user', currentUser); - cdb.config.set('url_prefix', currentUser.get('base_url')); + + function getDerivedVisualizations (vizdata, password) { + var visualizationsNumber = 3; + + var options = { + per_page: visualizationsNumber, + password: password + }; + + client.getDerivedVisualizations(options, function (err, response, data) { + if (err) { + console.error(err); + return err; + } else { + window.CartoConfig.visualizations = data.visualizations; + showPublicVisualization(password); + } + }); } - StaticHeaderMetaTagsHelper - .addPublicMapMeta(assetsBaseUrl, vizdata, mapOwnerUser) - .addTwitterMeta(vizdata, mapOwnerUser, TWITTER_CARD_IMG_WIDTH, TWITTER_CARD_IMG_HEIGHT) - .addFacebookMeta(vizdata, mapOwnerUser, FACEBOOK_CARD_IMG_WIDTH, FACEBOOK_CARD_IMG_HEIGHT); - - $('#app').empty(); - - var publicMapView = new PublicMapWindow({ - el: '#app', - assetsVersion: assetsVersion, - collection: new cdb.admin.Visualizations(), - config: cdb.config, - currentUser: currentUser, - mapOwnerUser: mapOwnerUser, - data: data, - isMobileDevice: MapOptionsHelper.isMobileDevice(), - mapId: MAP_ID, - mapOptions: {}, - vizdata: vizdata, - visualizations: visualizations, - password: password - }); - - publicMapView.render(); -} - -var getConfig = function () { - client.getConfig(function (err, response, data) { - if (err) { - console.error(err); - return err; - } else { - window.CartoConfig.data = data; - getVisualization(); + function showPublicVisualization (password) { + var data = window.CartoConfig.data; + var vizdata = window.CartoConfig.vizdata; + var visualizations = window.CartoConfig.visualizations; + var assetsVersion = AssetsVersionHelper.getAssetsVersion(VERSION); + var assetsBaseUrl = data.config.app_assets_base_url; + var currentUser = data.user_data + ? new cdb.admin.User(data.user_data) + : null; + + var mapOwnerUser = vizdata.permission.owner + ? new cdb.admin.User(vizdata.permission.owner) + : null; + + cdb.templates.namespace = 'cartodb/'; + cdb.config.set(data.config); + + if (currentUser) { + cdb.config.set('user', currentUser); + cdb.config.set('url_prefix', currentUser.get('base_url')); + } + + StaticHeaderMetaTagsHelper + .addPublicMapMeta(assetsBaseUrl, vizdata, mapOwnerUser) + .addTwitterMeta(vizdata, mapOwnerUser, TWITTER_CARD_IMG_WIDTH, TWITTER_CARD_IMG_HEIGHT) + .addFacebookMeta(vizdata, mapOwnerUser, FACEBOOK_CARD_IMG_WIDTH, FACEBOOK_CARD_IMG_HEIGHT); + + $('#app').empty(); + + var publicMapView = new PublicMapWindow({ + el: '#app', + assetsVersion: assetsVersion, + collection: new cdb.admin.Visualizations(), + config: cdb.config, + currentUser: currentUser, + mapOwnerUser: mapOwnerUser, + data: data, + isMobileDevice: MapOptionsHelper.isMobileDevice(), + mapId: MAP_ID, + mapOptions: {}, + vizdata: vizdata, + visualizations: visualizations, + password: password + }); + + publicMapView.render(); } - }); -}; -$(function () { - cdb.init(function () { + var getConfig = function () { + client.getConfig(function (err, response, data) { + if (err) { + console.error(err); + return err; + } else { + window.CartoConfig.data = data; + getVisualization(); + } + }); + }; + getConfig(); }); }); diff --git a/lib/assets/javascripts/cartodb/static.js b/lib/assets/javascripts/cartodb/static.js index 4a1fbe9461..7ca6af0806 100644 --- a/lib/assets/javascripts/cartodb/static.js +++ b/lib/assets/javascripts/cartodb/static.js @@ -84,8 +84,7 @@ window.CartoConfig = window.CartoConfig || {}; error = data.responseJSON; if (error && error.visualization) { window.CartoConfig.vizdata = window.CartoConfig.vizdata || {}; - window.CartoConfig.vizdata.google_maps_query_string = error.visualization.user && error.visualization.user.google_maps_query_string; - getUserConfig(); + window.CartoConfig.vizdata = error.visualization; } else { console.error(error.errors); }