From 1cb1be17a98875e2f6b887e8cca281f28714c88f Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 24 Jul 2017 16:59:23 +0000 Subject: [PATCH] Fixed link to user in email notifications (#26506). git-svn-id: http://svn.redmine.org/redmine/trunk@16876 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/application_helper.rb | 9 +++++---- test/unit/mailer_test.rb | 8 ++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e14cff2e7..a2d1fb73c 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -53,7 +53,8 @@ module ApplicationHelper if user.is_a?(User) name = h(user.name(options[:format])) if user.active? || (User.current.admin? && user.logged?) - link_to name, user_path(user), :class => user.css_classes + only_path = options[:only_path].nil? ? true : options[:only_path] + link_to name, user_url(user, :only_path => only_path), :class => user.css_classes else name end @@ -905,7 +906,7 @@ module ApplicationHelper end when 'user' u = User.visible.where(:id => oid, :type => 'User').first - link = link_to_user(u) if u + link = link_to_user(u, :only_path => only_path) if u end elsif sep == ':' name = remove_double_quotes(identifier) @@ -966,12 +967,12 @@ module ApplicationHelper end when 'user' u = User.visible.where(:login => name, :type => 'User').first - link = link_to_user(u) if u + link = link_to_user(u, :only_path => only_path) if u end elsif sep == "@" name = remove_double_quotes(identifier) u = User.visible.where(:login => name, :type => 'User').first - link = link_to_user(u) if u + link = link_to_user(u, :only_path => only_path) if u end end (leading + (link || "#{project_prefix}#{prefix}#{repo_prefix}#{sep}#{identifier}#{comment_suffix}")) diff --git a/test/unit/mailer_test.rb b/test/unit/mailer_test.rb index a755b8a5f..87fcf84e7 100644 --- a/test/unit/mailer_test.rb +++ b/test/unit/mailer_test.rb @@ -193,6 +193,14 @@ class MailerTest < ActiveSupport::TestCase Redmine::Utils.relative_url_root = relative_url_root end + def test_link_to_user_in_email + issue = Issue.generate!(:description => '@jsmith') + assert Mailer.deliver_issue_add(issue) + assert_select_email do + assert_select "a[href=?]", "http://localhost:3000/users/2", :text => 'John Smith' + end + end + def test_email_headers issue = Issue.find(1) Mailer.deliver_issue_add(issue) -- 2.39.5