From: John Firebaugh Date: Fri, 2 Aug 2013 21:36:38 +0000 (-0700) Subject: Pass editing params through to welcome page X-Git-Tag: live~4796^2~15 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/2fa422578448314fb6fad888b5c47cf994cb0b8c Pass editing params through to welcome page --- diff --git a/app/assets/javascripts/welcome.js b/app/assets/javascripts/welcome.js index 8cf9eb83b..5773bfd6d 100644 --- a/app/assets/javascripts/welcome.js +++ b/app/assets/javascripts/welcome.js @@ -21,7 +21,14 @@ $(document).ready(function() { } }); - $('.start-mapping').attr('href', '/edit?zoom=17&lat=' + params.lat + '&lon=' + params.lon); + params = { + lat: params.lat, + lon: params.lon, + zoom: params.zoom || 17, + editor: params.editor + }; + + $('.start-mapping').attr('href', '/edit?' + $.param(params)); } else if (navigator.geolocation) { $('.edit-geolocated').show(); diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index dfacb9d5a..fdef4ea04 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -88,12 +88,19 @@ class UserController < ApplicationController if @user.save flash[:piwik_goal] = PIWIK_SIGNUP_GOAL if defined?(PIWIK_SIGNUP_GOAL) + begin + referer_params = Rack::Utils.parse_query(URI(session[:referer]).query) + referer = welcome_path(referer_params.slice(:lat, :lon, :zoom, :editor)) + rescue + referer = welcome_path + end + if @user.status == "active" - session[:referer] = welcome_path + session[:referer] = referer successful_login(@user) else session[:token] = @user.tokens.create.token - Notifier.signup_confirm(@user, @user.tokens.create(:referer => welcome_path)).deliver + Notifier.signup_confirm(@user, @user.tokens.create(:referer => referer)).deliver redirect_to :action => 'confirm', :display_name => @user.display_name end else