FIX: `/my/preferences` should prompt users to log in

This commit is contained in:
Robin Ward 2015-10-14 12:40:13 -04:00
parent 37c783c348
commit d66a545dd2
2 changed files with 9 additions and 5 deletions

View File

@ -80,7 +80,7 @@ export default Ember.Controller.extend(ModalFunctionality, {
const shouldRedirectToUrl = self.session.get("shouldRedirectToUrl");
$hidden_login_form.find('input[name=username]').val(self.get('loginName'));
$hidden_login_form.find('input[name=password]').val(self.get('loginPassword'));
if (self.get('loginRequired') && destinationUrl) {
if (destinationUrl) {
// redirect client to the original URL
$.cookie('destination_url', null);
$hidden_login_form.find('input[name=redirect]').val(destinationUrl);

View File

@ -162,11 +162,15 @@ class UsersController < ApplicationController
end
def my_redirect
if current_user.present? && params[:path] =~ /^[a-z\-\/]+$/
redirect_to path("/users/#{current_user.username}/#{params[:path]}")
return
raise Discourse::NotFound if params[:path] !~ /^[a-z\-\/]+$/
if current_user.blank?
cookies[:destination_url] = "/my/#{params[:path]}"
redirect_to :login
else
redirect_to(path("/users/#{current_user.username}/#{params[:path]}"))
end
raise Discourse::NotFound
end
def invited