From aca70805f1bb69fe918e6dea74f3e456f494bacd Mon Sep 17 00:00:00 2001 From: Kane York Date: Sun, 6 Sep 2015 20:20:59 -0700 Subject: [PATCH] FIX: Discourse.BaseUri should not default to / --- app/assets/javascripts/discourse.js | 9 +++------ .../javascripts/discourse/lib/discourse-location.js.es6 | 4 +--- app/assets/javascripts/discourse/router.js.es6 | 2 +- app/models/admin_dashboard_data.rb | 6 +++++- app/views/common/_discourse_javascript.html.erb | 2 +- config/locales/server.en.yml | 1 + lib/pretty_text.rb | 2 +- test/javascripts/lib/computed-test.js.es6 | 2 +- test/javascripts/test_helper.js | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/assets/javascripts/discourse.js b/app/assets/javascripts/discourse.js index 57165d9d2..60484e1c3 100644 --- a/app/assets/javascripts/discourse.js +++ b/app/assets/javascripts/discourse.js @@ -16,13 +16,10 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, { // if it's a non relative URL, return it. if (!/^\/[^\/]/.test(url)) return url; - var u = Discourse.BaseUri === undefined ? "/" : Discourse.BaseUri; + if (url.indexOf(Discourse.BaseUri) !== -1) return url; + if (url[0] !== "/") url = "/" + url; - if (u[u.length-1] === '/') u = u.substring(0, u.length-1); - if (url.indexOf(u) !== -1) return url; - if (u.length > 0 && url[0] !== "/") url = "/" + url; - - return u + url; + return Discourse.BaseUri + url; }, getURLWithCDN: function(url) { diff --git a/app/assets/javascripts/discourse/lib/discourse-location.js.es6 b/app/assets/javascripts/discourse/lib/discourse-location.js.es6 index b7299f2c0..a126bf783 100644 --- a/app/assets/javascripts/discourse/lib/discourse-location.js.es6 +++ b/app/assets/javascripts/discourse/lib/discourse-location.js.es6 @@ -62,11 +62,9 @@ const DiscourseLocation = Ember.Object.extend({ */ getURL() { const location = get(this, 'location'); - let rootURL = (Discourse.BaseUri === undefined ? "/" : Discourse.BaseUri); let url = location.pathname; - rootURL = rootURL.replace(/\/$/, ''); - url = url.replace(rootURL, ''); + url = url.replace(Discourse.BaseUri, ''); const search = location.search || ''; url += search; diff --git a/app/assets/javascripts/discourse/router.js.es6 b/app/assets/javascripts/discourse/router.js.es6 index fc2a6f879..950e78cb8 100644 --- a/app/assets/javascripts/discourse/router.js.es6 +++ b/app/assets/javascripts/discourse/router.js.es6 @@ -1,4 +1,4 @@ -const rootURL = Discourse.BaseUri && Discourse.BaseUri !== "/" ? Discourse.BaseUri : undefined; +const rootURL = Discourse.BaseUri; const BareRouter = Ember.Router.extend({ rootURL, diff --git a/app/models/admin_dashboard_data.rb b/app/models/admin_dashboard_data.rb index 425352376..91f415fbd 100644 --- a/app/models/admin_dashboard_data.rb +++ b/app/models/admin_dashboard_data.rb @@ -61,7 +61,7 @@ class AdminDashboardData :failing_emails_check, :default_logo_check, :contact_email_check, :send_consumer_email_check, :title_check, :site_description_check, :site_contact_username_check, - :notification_email_check + :notification_email_check, :subfolder_ends_in_slash_check add_problem_check do sidekiq_check || queue_size_check @@ -200,4 +200,8 @@ class AdminDashboardData I18n.t('dashboard.ruby_version_warning') if RUBY_VERSION == '2.0.0' and RUBY_PATCHLEVEL < 247 end + def subfolder_ends_in_slash_check + I18n.t('dashboard.subfolder_ends_in_slash') if Discourse.base_uri =~ /\/$/ + end + end diff --git a/app/views/common/_discourse_javascript.html.erb b/app/views/common/_discourse_javascript.html.erb index 0f67c8f1c..f2ff7d0fb 100644 --- a/app/views/common/_discourse_javascript.html.erb +++ b/app/views/common/_discourse_javascript.html.erb @@ -35,7 +35,7 @@