From 40744b03c31161a314b0d952bc5d7b5de34898b0 Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Tue, 16 Dec 2025 11:40:22 +0100 Subject: [PATCH] Pull changeset comment rich text into separate method --- app/models/changeset.rb | 1 + app/views/browse/_common_details.html.erb | 2 +- app/views/changesets/show.html.erb | 2 +- test/controllers/changesets_controller_test.rb | 9 +++++++++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/models/changeset.rb b/app/models/changeset.rb index 1188ae60c..0347f8de4 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -201,6 +201,7 @@ class Changeset < ApplicationRecord end def comment = tags["comment"].presence + def comment_html = comment ? RichText.new("text", comment).to_html : nil ## # set the auto-close time to be one hour in the future unless diff --git a/app/views/browse/_common_details.html.erb b/app/views/browse/_common_details.html.erb index c332eddc1..598a38f21 100644 --- a/app/views/browse/_common_details.html.erb +++ b/app/views/browse/_common_details.html.erb @@ -8,7 +8,7 @@

- <%= RichText.new("text", common_details.changeset.comment || t("browse.no_comment")) %> + <%= common_details.changeset.comment_html || t("browse.no_comment") %>

diff --git a/app/views/changesets/show.html.erb b/app/views/changesets/show.html.erb index 6e8c62f8a..d26ce5d91 100644 --- a/app/views/changesets/show.html.erb +++ b/app/views/changesets/show.html.erb @@ -4,7 +4,7 @@

- <%= RichText.new("text", @changeset.comment || t("browse.no_comment")) %> + <%= @changeset.comment_html || t("browse.no_comment") %>

<%= tag.p :class => "details", :data => { :changeset => changeset_data(@changeset) } do %> <%= changeset_details(@changeset) %> diff --git a/test/controllers/changesets_controller_test.rb b/test/controllers/changesets_controller_test.rb index 150b0480f..ed1aef4d1 100644 --- a/test/controllers/changesets_controller_test.rb +++ b/test/controllers/changesets_controller_test.rb @@ -408,6 +408,15 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest end end + def test_show_linkified_comment + changeset = create(:changeset) + create(:changeset_tag, :changeset => changeset, :k => "comment", :v => "Check out http://example.com/ & special !") + sidebar_browse_check :changeset_path, changeset.id, "changesets/show" + assert_dom "p", :text => %r{Check out http://example.com/ & special !} do + assert_dom "a[href='http://example.com/']", :text => "http://example.com/" + end + end + def test_show_closed_changeset changeset = create(:changeset, :closed) -- 2.39.5