Link to all user's traces from successful import emails

This commit is contained in:
Anton Khorev 2024-01-11 17:48:40 +03:00
parent 51f331e8cc
commit 6931c49825
4 changed files with 15 additions and 0 deletions

View file

@ -50,6 +50,7 @@ class UserMailer < ApplicationMailer
@trace_description = trace.description @trace_description = trace.description
@trace_tags = trace.tags @trace_tags = trace.tags
@possible_points = possible_points @possible_points = possible_points
@my_traces_url = url_for(:controller => "traces", :action => "mine")
mail :to => trace.user.email, mail :to => trace.user.email,
:subject => t(".subject") :subject => t(".subject")

View file

@ -4,3 +4,7 @@
<%= render :partial => "gpx_description" %> <%= render :partial => "gpx_description" %>
<%= t(".loaded", :trace_points => @trace_points, :count => @possible_points) %> <%= t(".loaded", :trace_points => @trace_points, :count => @possible_points) %>
</p> </p>
<p>
<%= t ".all_your_traces_html", :url => link_to(@my_traces_url, @my_traces_url) %>
</p>

View file

@ -1590,6 +1590,7 @@ en:
loaded: loaded:
one: "loaded successfully with %{trace_points} out of a possible %{count} point." one: "loaded successfully with %{trace_points} out of a possible %{count} point."
other: "loaded successfully with %{trace_points} out of a possible %{count} points." 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" subject: "[OpenStreetMap] GPX Import success"
signup_confirm: signup_confirm:
subject: "[OpenStreetMap] Welcome to OpenStreetMap" subject: "[OpenStreetMap] Welcome to OpenStreetMap"

View file

@ -18,6 +18,15 @@ class UserMailerTest < ActionMailer::TestCase
assert_match(/one two three/, email.html_part.body.to_s) assert_match(/one two three/, email.html_part.body.to_s)
end 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 def test_gpx_success_trace_link
trace = create(:trace) trace = create(:trace)
email = UserMailer.gpx_success(trace, 100) email = UserMailer.gpx_success(trace, 100)