Merge remote-tracking branch 'upstream/pull/4329'

This commit is contained in:
Tom Hughes 2023-11-28 22:21:50 +00:00
commit 45f0589e62
3 changed files with 24 additions and 14 deletions

View file

@ -197,19 +197,7 @@ class UsersController < ApplicationController
flash[:matomo_goal] = Settings.matomo["goals"]["signup"] if defined?(Settings.matomo) flash[:matomo_goal] = Settings.matomo["goals"]["signup"] if defined?(Settings.matomo)
referer = welcome_path referer = welcome_path(welcome_options)
begin
uri = URI(session[:referer])
%r{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 StandardError
# Use default
end
if current_user.status == "active" if current_user.status == "active"
session[:referer] = referer session[:referer] = referer
@ -321,6 +309,21 @@ class UsersController < ApplicationController
private private
def welcome_options
uri = URI(session[:referer]) if session[:referer].present?
return { "oauth_return_url" => uri&.to_s } if uri&.path == oauth_authorization_path
begin
%r{map=(.*)/(.*)/(.*)}.match(uri.fragment) do |m|
editor = Rack::Utils.parse_query(uri.query).slice("editor")
return { "zoom" => m[1], "lat" => m[2], "lon" => m[3] }.merge(editor)
end
rescue StandardError
# Use default
end
end
## ##
# ensure that there is a "user" instance variable # ensure that there is a "user" instance variable
def lookup_user_by_name def lookup_user_by_name

View file

@ -60,7 +60,13 @@
</div> </div>
<div class='clearfix text-center'> <div class='clearfix text-center'>
<p class="display-5"><a href="<%= edit_path %>" class="button start-mapping"><%= t ".start_mapping" %></a></p> <p class="display-5">
<% if params[:oauth_return_url] %>
<a class="btn btn-primary" href="<%= params[:oauth_return_url] %>"><%= t ".continue_authorization" %></a>
<% else %>
<a class="button btn btn-primary start-mapping" href="<%= edit_path %>"><%= t ".start_mapping" %></a>
<% end %>
</p>
</div> </div>
<div class='alert alert-primary'> <div class='alert alert-primary'>

View file

@ -2383,6 +2383,7 @@ en:
automated_edits: Automated Edits automated_edits: Automated Edits
automated_edits_url: https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct automated_edits_url: https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct
start_mapping: Start Mapping start_mapping: Start Mapping
continue_authorization: Continue Authorization
add_a_note: add_a_note:
title: No Time To Edit? Add a Note! title: No Time To Edit? Add a Note!
para_1: | para_1: |