FIX: new-topic URL should survive login redirection

This commit is contained in:
Arpit Jalan 2015-06-14 20:24:47 +05:30
parent 04288c14ff
commit d1632c1dbd
3 changed files with 4 additions and 1 deletions

View file

@ -78,9 +78,10 @@ export default DiscourseController.extend(ModalFunctionality, {
var destinationUrl = $.cookie('destination_url');
$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 ((self.get('loginRequired') || $.cookie('shouldRedirectToUrl')) && destinationUrl) {
// redirect client to the original URL
$.cookie('destination_url', null);
$.cookie('shouldRedirectToUrl', null);
$hidden_login_form.find('input[name=redirect]').val(destinationUrl);
} else {
$hidden_login_form.find('input[name=redirect]').val(window.location.href);

View file

@ -13,6 +13,7 @@ export default Discourse.Route.extend({
});
} else {
// User is not logged in
$.cookie('shouldRedirectToUrl', true);
self.replaceWith('login');
}
}

View file

@ -72,6 +72,7 @@ class StaticController < ApplicationController
uri.path !~ /\./
destination = uri.path
destination = "#{uri.path}?#{uri.query}" if uri.path =~ /new-topic/
end
rescue URI::InvalidURIError
# Do nothing if the URI is invalid