diff --git a/app/assets/javascripts/discourse.js b/app/assets/javascripts/discourse.js index 2b0544c7a..9fd444ec6 100644 --- a/app/assets/javascripts/discourse.js +++ b/app/assets/javascripts/discourse.js @@ -88,8 +88,7 @@ window.Discourse = Ember.Application.createWithMixins(Discourse.Ajax, { }, loginRequired: function() { - return Discourse.SiteSettings.login_required && - !Discourse.User.current(); + return Discourse.SiteSettings.login_required && !Discourse.User.current(); }.property(), redirectIfLoginRequired: function(route) { diff --git a/app/assets/javascripts/discourse/routes/application_routes.js b/app/assets/javascripts/discourse/routes/application_routes.js index 08c64d7dd..829875468 100644 --- a/app/assets/javascripts/discourse/routes/application_routes.js +++ b/app/assets/javascripts/discourse/routes/application_routes.js @@ -7,19 +7,18 @@ Discourse.Route.buildRoutes(function() { var router = this; + // Generate static page routes + _.each(Discourse.StaticController.PAGES, function (page) { + router.route(page, { path: '/' + page }); + }); + // Topic routes this.resource('topic', { path: '/t/:slug/:id' }, function() { this.route('fromParams', { path: '/' }); this.route('fromParamsNear', { path: '/:nearPost' }); }); - // Generate static page routes - _.each(Discourse.StaticController.PAGES, function (page) { - router.route(page, { path: '/' + page }); - }); - this.resource('discovery', { path: '/' }, function() { - router = this; // top @@ -41,6 +40,7 @@ Discourse.Route.buildRoutes(function() { router.route(top + 'Category', { path: '/category/:parentSlug/:slug/l/top/' + period + '/more' }); }); + // filters Discourse.Site.currentProp('filters').forEach(function(filter) { router.route(filter, { path: '/' + filter }); router.route(filter, { path: '/' + filter + '/more' }); diff --git a/app/models/site.rb b/app/models/site.rb index 359977b0b..8ae343812 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -58,16 +58,14 @@ class Site def self.cached_json(guardian) if guardian.anonymous? && SiteSetting.login_required - return {}.to_json + return { + periods: TopTopic.periods.map(&:to_s), + filters: Discourse.filters.map(&:to_s), + }.to_json end - # Sam: bumping this way down, SiteSerializer will serialize post actions as well, - # On my local this was not being flushed as post actions types changed, it turn this - # broke local. site = Site.new(guardian) - #Discourse.cache.fetch(site.cache_key, family: "site", expires_in: 1.minute) do MultiJson.dump(SiteSerializer.new(site, root: false)) - #end end def self.invalidate_cache