]> git.openstreetmap.org Git - rails.git/commitdiff
Don't link to trace pages from failed import emails
authorAnton Khorev <tony29@yandex.ru>
Thu, 11 Jan 2024 14:11:09 +0000 (17:11 +0300)
committerAnton Khorev <tony29@yandex.ru>
Thu, 11 Jan 2024 14:11:55 +0000 (17:11 +0300)
app/views/user_mailer/_gpx_description.html.erb
test/mailers/user_mailer_test.rb

index eb9d5e102340e12f0d5f1435d8cdc702369bbc56..42998213693f4cbdc3b5f1df0211fa07a0b02907 100644 (file)
@@ -1,4 +1,5 @@
-<% trace_name = link_to tag.strong(@trace_name), @trace_url %>
+<% trace_name = tag.strong(@trace_name) %>
+<% trace_name = link_to(trace_name, @trace_url) if @trace_url %>
 <% trace_description = tag.em(@trace_description) %>
 <% if @trace_tags.length > 0 %>
   <% tags = @trace_tags.map(&:tag).join(" ") %>
index 1e3d9cc743f0c1f183a06439a8146ef1f0d1dc5a..7857773eec2c1e1bb9bf107954150ee9dbe7532a 100644 (file)
@@ -18,7 +18,7 @@ class UserMailerTest < ActionMailer::TestCase
     assert_match(/one two three/, email.html_part.body.to_s)
   end
 
-  def test_gpx_trace_link
+  def test_gpx_success_trace_link
     trace = create(:trace)
     email = UserMailer.gpx_success(trace, 100)
     body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
@@ -27,6 +27,15 @@ class UserMailerTest < ActionMailer::TestCase
     assert_select body, "a[href='#{url}']", :text => trace.name
   end
 
+  def test_gpx_failure_no_trace_link
+    trace = create(:trace)
+    email = UserMailer.gpx_failure(trace, "some error")
+    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}']", :count => 0
+  end
+
   def test_html_encoding
     user = create(:user, :display_name => "Jack & Jill <br>")
     message = create(:message, :sender => user)