From: Anton Khorev Date: Thu, 11 Jan 2024 14:48:40 +0000 (+0300) Subject: Link to all user's traces from successful import emails X-Git-Tag: live~831^2~1 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/6931c4982589f1451ca4e911e7fbb9da4b9d319d?ds=sidebyside Link to all user's traces from successful import emails --- diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index 613c75879..d1ad60b2c 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -50,6 +50,7 @@ class UserMailer < ApplicationMailer @trace_description = trace.description @trace_tags = trace.tags @possible_points = possible_points + @my_traces_url = url_for(:controller => "traces", :action => "mine") mail :to => trace.user.email, :subject => t(".subject") diff --git a/app/views/user_mailer/gpx_success.html.erb b/app/views/user_mailer/gpx_success.html.erb index ad60408bd..4354db20a 100644 --- a/app/views/user_mailer/gpx_success.html.erb +++ b/app/views/user_mailer/gpx_success.html.erb @@ -4,3 +4,7 @@ <%= render :partial => "gpx_description" %> <%= t(".loaded", :trace_points => @trace_points, :count => @possible_points) %>

+ +

+ <%= t ".all_your_traces_html", :url => link_to(@my_traces_url, @my_traces_url) %> +

diff --git a/config/locales/en.yml b/config/locales/en.yml index 8114c8b10..4420baa59 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1590,6 +1590,7 @@ en: loaded: one: "loaded successfully with %{trace_points} out of a possible %{count} point." other: "loaded successfully with %{trace_points} out of a possible %{count} points." + all_your_traces_html: "All your successfully uploaded GPX traces can be found at %{url}." subject: "[OpenStreetMap] GPX Import success" signup_confirm: subject: "[OpenStreetMap] Welcome to OpenStreetMap" diff --git a/test/mailers/user_mailer_test.rb b/test/mailers/user_mailer_test.rb index 7857773ee..6df86c15e 100644 --- a/test/mailers/user_mailer_test.rb +++ b/test/mailers/user_mailer_test.rb @@ -18,6 +18,15 @@ class UserMailerTest < ActionMailer::TestCase assert_match(/one two three/, email.html_part.body.to_s) end + def test_gpx_success_all_traces_link + trace = create(:trace) + email = UserMailer.gpx_success(trace, 100) + body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body) + + url = Rails.application.routes.url_helpers.url_for(:controller => "traces", :action => "mine", :host => Settings.server_url, :protocol => Settings.server_protocol) + assert_select body, "a[href='#{url}']" + end + def test_gpx_success_trace_link trace = create(:trace) email = UserMailer.gpx_success(trace, 100)