]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/3539'
authorTom Hughes <tom@compton.nu>
Tue, 3 May 2022 18:09:31 +0000 (19:09 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 3 May 2022 18:09:31 +0000 (19:09 +0100)
app/models/report.rb
app/views/issues/_reports.html.erb
app/views/reports/new.html.erb
test/models/report_test.rb
test/system/issues_test.rb

index 77a96764125bbc8e839d73773a3fbfa50a5d9aa9..1475197fe34b8e87ab99c550f6d8efb3bdd7e245 100644 (file)
@@ -36,4 +36,8 @@ class Report < ApplicationRecord
     else %w[other]
     end
   end
+
+  def details
+    RichText.new("markdown", self[:details])
+  end
 end
index b1b690f8c965ec5d93c5113b03498181e3aba2dc..23b6d556e4023b49879e271b03d44aeb56500a83 100644 (file)
@@ -9,7 +9,7 @@
                                    :user => link_to(report.user.display_name, user_path(report.user)),
                                    :updated_at => l(report.updated_at.to_datetime, :format => :friendly) %>
       </p>
-      <p><%= report.details %></p>
+      <p class="richtext text-break"><%= report.details.to_html %></p>
     </div>
   </div>
   <hr>
index 6c12c14e334205bb0e31d9eb65cde46bf67cfe9a..8106ccfc968e881fe9b2bf1f303b6e8403e16291 100644 (file)
@@ -18,6 +18,6 @@
   <% end %>
 
   <%= f.collection_radio_buttons :category, report_categories(@report.issue.reportable), :id, :label %>
-  <%= f.text_area :details, :rows => 5, :label_as_placeholder => true %>
+  <%= f.richtext_field :details, :rows => 18, :label_as_placeholder => true, :format => "markdown" %>
   <%= f.primary %>
 <% end %>
index d172ff7db97ace0a81c10b953661ea105913903c..64ccf501d924f09f00f1e1a2c9d218e783e880ef 100644 (file)
@@ -32,4 +32,9 @@ class ReportTest < ActiveSupport::TestCase
     report.category = ""
     assert_not report.valid?
   end
+
+  def test_details
+    report = create(:report)
+    assert_instance_of(RichText::Markdown, report.details)
+  end
 end
index 08f2c92dffdd5ae90d67c66d0d614cf68e6dd0b3..2a9862ed9625e40a3028804e9563ad56fe702ed0 100644 (file)
@@ -30,6 +30,17 @@ class IssuesTest < ApplicationSystemTestCase
     assert_content issues.first.reported_user.display_name
   end
 
+  def test_view_issue_with_report
+    sign_in_as(create(:moderator_user))
+    issue = create(:issue, :assigned_role => "moderator")
+    issue.reports << create(:report, :details => "test report text **with kramdown**")
+
+    visit issue_path(issue)
+    assert_content I18n.t("issues.show.reports", :count => 1)
+    assert_content "test report text with kramdown"
+    assert_selector "strong", :text => "with kramdown"
+  end
+
   def test_view_issues_with_no_reported_user
     sign_in_as(create(:moderator_user))
     anonymous_note = create(:note_with_comments)