From: Tom Hughes Date: Thu, 18 Jul 2024 16:21:28 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/5003' X-Git-Tag: live~879 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/6aded887ee383b976393c88b454d3beb7a72deee?hp=64dfb88ddfc9ed7db98445235cab98b19d2c2f95 Merge remote-tracking branch 'upstream/pull/5003' --- diff --git a/app/views/accounts/edit.html.erb b/app/views/accounts/edit.html.erb index f15bc195c..a3e6f943b 100644 --- a/app/views/accounts/edit.html.erb +++ b/app/views/accounts/edit.html.erb @@ -19,7 +19,7 @@
- <%= f.select(:auth_provider, Auth.providers, :hide_label => true, :wrapper => { :class => "col-auto mb-0" }) %> + <%= f.select(:auth_provider, { t("auth.providers.none") => "" }.merge(Auth.providers), :hide_label => true, :wrapper => { :class => "col-auto mb-0" }) %> <%= f.text_field(:auth_uid, :hide_label => true, :wrapper => { :class => "col mb-0" }) %>
(" target="_new"><%= t ".openid.link text" %>) diff --git a/app/views/application/_auth_providers.html.erb b/app/views/application/_auth_providers.html.erb index c77a3ed3e..895a42eb0 100644 --- a/app/views/application/_auth_providers.html.erb +++ b/app/views/application/_auth_providers.html.erb @@ -1,11 +1,4 @@ -<% prefered_auth_button_available = false %> -<% %w[google facebook microsoft github wikipedia].each do |provider| %> - <% if Settings.key?("#{provider}_auth_id".to_sym) -%> - <% if @preferred_auth_provider == provider %> - <% prefered_auth_button_available = true %> - <% end %> - <% end -%> -<% end -%> +<% prefered_auth_button_available = @preferred_auth_provider != "openid" && Auth.providers.value?(@preferred_auth_provider) %>
<%= tag.div :id => "login_auth_buttons", @@ -18,20 +11,18 @@ <% end %>
- <%= button_tag image_tag("openid.svg", - :alt => t(".openid.alt"), - :size => "36"), - :type => "button", - :id => "openid_open_url", - :title => t(".openid.title"), - :class => "btn btn-light p-2" %> - - <% %w[google facebook microsoft github wikipedia].each do |provider| %> - <% unless @preferred_auth_provider == provider %> - <% if Settings.key?("#{provider}_auth_id".to_sym) -%> - <%= auth_button provider %> - <% end -%> - <% end %> + <% Auth.providers.each_value do |provider| %> + <% if provider == "openid" %> + <%= button_tag image_tag("openid.svg", + :alt => t(".openid.alt"), + :size => "36"), + :type => "button", + :id => "openid_open_url", + :title => t(".openid.title"), + :class => "btn btn-light p-2" %> + <% elsif provider != @preferred_auth_provider %> + <%= auth_button provider %> + <% end -%> <% end -%>
<% end %> diff --git a/app/views/layouts/_search.html.erb b/app/views/layouts/_search.html.erb index b6baed5f7..36e1a7a92 100644 --- a/app/views/layouts/_search.html.erb +++ b/app/views/layouts/_search.html.erb @@ -1,9 +1,15 @@ +<% search_query = if params[:query] + params[:query] + elsif params[:lat] && params[:lon] + "#{params[:lat]}, #{params[:lon]}" + end %> +
- <%= text_field_tag "query", params[:query], :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control z-0 py-1 px-2", :dir => "auto" %> + <%= text_field_tag "query", search_query, :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control z-0 py-1 px-2", :dir => "auto" %>
<%= button_tag t("site.search.where_am_i"), :type => "button", :class => "describe_location position-absolute end-0 top-0 bottom-0 m-1 btn btn-outline-primary border-0 p-1 bg-transparent text-primary link-body-emphasis link-opacity-100-hover", :title => t("site.search.where_am_i_title") %>
diff --git a/lib/auth.rb b/lib/auth.rb index 01167fb1d..729772477 100644 --- a/lib/auth.rb +++ b/lib/auth.rb @@ -3,7 +3,6 @@ module Auth def self.providers @providers[I18n.locale] ||= { - I18n.t("auth.providers.none") => "", I18n.t("auth.providers.openid") => "openid" }.tap do |providers| providers[I18n.t("auth.providers.google")] = "google" if Settings.key?(:google_auth_id) diff --git a/test/system/search_test.rb b/test/system/search_test.rb index 8cda1f74e..ced1e1beb 100644 --- a/test/system/search_test.rb +++ b/test/system/search_test.rb @@ -11,4 +11,22 @@ class SearchTest < ApplicationSystemTestCase click_on "Where is this?" assert_field "Search", :with => "1.234, 6.789" end + + test "query search link sets search input value" do + stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?}) + .to_return(:status => 404) + + visit search_path(:query => "2.341, 7.896") + + assert_field "Search", :with => "2.341, 7.896" + end + + test "latlon search link sets search input value" do + stub_request(:get, %r{^https://nominatim\.openstreetmap\.org/reverse\?}) + .to_return(:status => 404) + + visit search_path(:lat => "4.321", :lon => "9.876") + + assert_field "Search", :with => "4.321, 9.876" + end end