From 216f7186073276a2334475f1e05b01093ac28957 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Tue, 14 Oct 2014 15:10:51 -0400 Subject: [PATCH] Support `/group/xyz` paths as well as `/groups/xyz` --- app/assets/javascripts/discourse/lib/url.js | 6 +++++- .../javascripts/discourse/routes/build-topic-route.js.es6 | 8 +++++--- config/routes.rb | 4 ++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/discourse/lib/url.js b/app/assets/javascripts/discourse/lib/url.js index 046244979..a927a530f 100644 --- a/app/assets/javascripts/discourse/lib/url.js +++ b/app/assets/javascripts/discourse/lib/url.js @@ -129,7 +129,6 @@ Discourse.URL = Em.Object.createWithMixins({ path = path.replace(rootURL, ''); } - // Rewrite /my/* urls if (path.indexOf('/my/') === 0) { var currentUser = Discourse.User.current(); @@ -141,6 +140,11 @@ Discourse.URL = Em.Object.createWithMixins({ } } + // Rewrite /groups paths + if (path.indexOf('/group/') === 0) { + path = path.replace('group/', 'groups/'); + } + if (this.navigatedToPost(oldPath, path)) { return; } // Schedule a DOM cleanup event Em.run.scheduleOnce('afterRender', Discourse.Route, 'cleanDOM'); diff --git a/app/assets/javascripts/discourse/routes/build-topic-route.js.es6 b/app/assets/javascripts/discourse/routes/build-topic-route.js.es6 index 2e98877ca..c0eacd916 100644 --- a/app/assets/javascripts/discourse/routes/build-topic-route.js.es6 +++ b/app/assets/javascripts/discourse/routes/build-topic-route.js.es6 @@ -41,9 +41,11 @@ export default function(filter, extras) { setupController: function(controller, model, trans) { - controller.setProperties(Em.getProperties(trans, _.keys(queryParams).map(function(v){ - return 'queryParams.' + v; - }))); + if (trans) { + controller.setProperties(Em.getProperties(trans, _.keys(queryParams).map(function(v){ + return 'queryParams.' + v; + }))); + } var periods = this.controllerFor('discovery').get('periods'), diff --git a/config/routes.rb b/config/routes.rb index eab50d805..cf5f8eb18 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -269,6 +269,10 @@ Discourse::Application.routes.draw do get 'counts' end + # In case people try the wrong URL + get '/group/:id', to: redirect('/groups/%{id}') + get '/group/:id/members', to: redirect('/groups/%{id}/members') + resources :posts do put "bookmark" put "wiki"