]> git.openstreetmap.org Git - rails.git/commitdiff
Link to trace pages from successful import emails
authorAnton Khorev <tony29@yandex.ru>
Thu, 11 Jan 2024 13:49:01 +0000 (16:49 +0300)
committerAnton Khorev <tony29@yandex.ru>
Thu, 11 Jan 2024 14:11:41 +0000 (17:11 +0300)
app/mailers/user_mailer.rb
app/views/user_mailer/_gpx_description.html.erb
test/mailers/user_mailer_test.rb

index 8ca186aad92141dcc235c9d7f1b634b3e93c7c1d..613c758792481af67da2f661bb3a707682eb25e0 100644 (file)
@@ -44,6 +44,7 @@ class UserMailer < ApplicationMailer
   def gpx_success(trace, possible_points)
     with_recipient_locale trace.user do
       @to_user = trace.user.display_name
+      @trace_url = show_trace_url(trace.user, trace)
       @trace_name = trace.name
       @trace_points = trace.size
       @trace_description = trace.description
index 50fcd69600ff05d966de48f29318df88619113ae..eb9d5e102340e12f0d5f1435d8cdc702369bbc56 100644 (file)
@@ -1,4 +1,4 @@
-<% trace_name = tag.strong(@trace_name) %>
+<% trace_name = link_to tag.strong(@trace_name), @trace_url %>
 <% trace_description = tag.em(@trace_description) %>
 <% if @trace_tags.length > 0 %>
   <% tags = @trace_tags.map(&:tag).join(" ") %>
index 537bb9d0ddf60ec4220007d56d3c6986f524be7b..1e3d9cc743f0c1f183a06439a8146ef1f0d1dc5a 100644 (file)
@@ -18,6 +18,15 @@ class UserMailerTest < ActionMailer::TestCase
     assert_match(/one two three/, email.html_part.body.to_s)
   end
 
+  def test_gpx_trace_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.show_trace_url(trace.user, trace, :host => Settings.server_url, :protocol => Settings.server_protocol)
+    assert_select body, "a[href='#{url}']", :text => trace.name
+  end
+
   def test_html_encoding
     user = create(:user, :display_name => "Jack & Jill <br>")
     message = create(:message, :sender => user)