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"
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