Fix referer params for welcome page
This commit is contained in:
parent
3ca642271a
commit
b825f4826a
2 changed files with 20 additions and 3 deletions
|
@ -88,11 +88,18 @@ class UserController < ApplicationController
|
|||
if @user.save
|
||||
flash[:piwik_goal] = PIWIK_SIGNUP_GOAL if defined?(PIWIK_SIGNUP_GOAL)
|
||||
|
||||
referer = welcome_path
|
||||
|
||||
begin
|
||||
referer_params = Rack::Utils.parse_query(URI(session[:referer]).query)
|
||||
referer = welcome_path(referer_params.slice(:lat, :lon, :zoom, :editor))
|
||||
uri = URI(session[:referer])
|
||||
/map=(.*)\/(.*)\/(.*)/.match(uri.fragment) do |m|
|
||||
editor = Rack::Utils.parse_query(uri.query).slice('editor')
|
||||
referer = welcome_path({'zoom' => m[1],
|
||||
'lat' => m[2],
|
||||
'lon' => m[3]}.merge(editor))
|
||||
end
|
||||
rescue
|
||||
referer = welcome_path
|
||||
# Use default
|
||||
end
|
||||
|
||||
if @user.status == "active"
|
||||
|
|
|
@ -308,6 +308,16 @@ class UserControllerTest < ActionController::TestCase
|
|||
assert_select "form > fieldset > div.form-row > div.field_with_errors > input#user_display_name"
|
||||
end
|
||||
|
||||
def test_user_save_referer_params
|
||||
user = new_user
|
||||
|
||||
post :save, {}, {:new_user => user,
|
||||
:referer => '/edit?editor=id#map=1/2/3'}
|
||||
|
||||
assert_equal welcome_path(:editor => 'id', :zoom => 1, :lat => 2, :lon => 3),
|
||||
user.tokens.first.referer
|
||||
end
|
||||
|
||||
def test_user_confirm_expired_token
|
||||
user = users(:inactive_user)
|
||||
token = user.tokens.new
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue