diff --git a/app/assets/javascripts/application.js.erb b/app/assets/javascripts/application.js.erb index 46caccf92..5f44e5f57 100644 --- a/app/assets/javascripts/application.js.erb +++ b/app/assets/javascripts/application.js.erb @@ -34,6 +34,7 @@ //= require ./discourse/views/modal/modal_body_view //= require ./discourse/models/model //= require ./discourse/routes/discourse_route +//= require ./discourse/routes/discourse_restricted_user_route //= require_tree ./discourse/controllers //= require_tree ./discourse/components diff --git a/app/assets/javascripts/discourse/routes/discourse_restricted_user_route.js.coffee b/app/assets/javascripts/discourse/routes/discourse_restricted_user_route.js.coffee new file mode 100644 index 000000000..af51c2642 --- /dev/null +++ b/app/assets/javascripts/discourse/routes/discourse_restricted_user_route.js.coffee @@ -0,0 +1,10 @@ +window.Discourse.RestrictedUserRoute = Discourse.Route.extend + + enter: (router, context) -> + user = @controllerFor('user').get('content') + + @allowed = user.can_edit + + redirect: -> + @transitionTo('user.activity') unless @allowed + \ No newline at end of file diff --git a/app/assets/javascripts/discourse/routes/preferences_email_route.js.coffee b/app/assets/javascripts/discourse/routes/preferences_email_route.js.coffee index 8befc7361..3b4b3de79 100644 --- a/app/assets/javascripts/discourse/routes/preferences_email_route.js.coffee +++ b/app/assets/javascripts/discourse/routes/preferences_email_route.js.coffee @@ -1,4 +1,4 @@ -window.Discourse.PreferencesEmailRoute = Discourse.Route.extend +window.Discourse.PreferencesEmailRoute = Discourse.RestrictedUserRoute.extend renderTemplate: -> @render into: 'user', outlet: 'userOutlet' setupController: (controller) -> diff --git a/app/assets/javascripts/discourse/routes/preferences_route.js.coffee b/app/assets/javascripts/discourse/routes/preferences_route.js.coffee index bbf14ab3b..87f254bc6 100644 --- a/app/assets/javascripts/discourse/routes/preferences_route.js.coffee +++ b/app/assets/javascripts/discourse/routes/preferences_route.js.coffee @@ -1,4 +1,4 @@ -window.Discourse.PreferencesRoute = Discourse.Route.extend +window.Discourse.PreferencesRoute = Discourse.RestrictedUserRoute.extend renderTemplate: -> @render 'preferences', into: 'user', outlet: 'userOutlet', controller: 'preferences' diff --git a/app/assets/javascripts/discourse/routes/preferences_username_route.js.coffee b/app/assets/javascripts/discourse/routes/preferences_username_route.js.coffee index f440d738c..01109e6c5 100644 --- a/app/assets/javascripts/discourse/routes/preferences_username_route.js.coffee +++ b/app/assets/javascripts/discourse/routes/preferences_username_route.js.coffee @@ -1,4 +1,4 @@ -window.Discourse.PreferencesUsernameRoute = Discourse.Route.extend +window.Discourse.PreferencesUsernameRoute = Discourse.RestrictedUserRoute.extend renderTemplate: -> @render into: 'user', outlet: 'userOutlet' setupController: (controller) -> diff --git a/app/assets/javascripts/discourse/routes/user_private_messages_route.js.coffee b/app/assets/javascripts/discourse/routes/user_private_messages_route.js.coffee index 2ff6bafd5..cecbf7278 100644 --- a/app/assets/javascripts/discourse/routes/user_private_messages_route.js.coffee +++ b/app/assets/javascripts/discourse/routes/user_private_messages_route.js.coffee @@ -1,4 +1,4 @@ -window.Discourse.UserPrivateMessagesRoute = Discourse.Route.extend +window.Discourse.UserPrivateMessagesRoute = Discourse.RestrictedUserRoute.extend renderTemplate: -> @render into: 'user', outlet: 'userOutlet' setupController: (controller, user) ->