From: Jean-Philippe Lang Date: Sun, 23 Sep 2018 14:55:35 +0000 (+0000) Subject: Link to user in wiki syntax only works when login is written in lower case (#26892). X-Git-Tag: 4.0.0~156 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5282a45b9b8eb39a25416cf270ca423db485a976;p=redmine.git Link to user in wiki syntax only works when login is written in lower case (#26892). Patch by Marius BALTEANU and Go MAEDA. git-svn-id: http://svn.redmine.org/redmine/trunk@17516 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 419287533..62987ca29 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1025,12 +1025,12 @@ module ApplicationHelper link = link_to_project(p, {:only_path => only_path}, :class => 'project') end when 'user' - u = User.visible.where(:login => name, :type => 'User').first + u = User.visible.where("LOWER(login) = :s AND type = 'User'", :s => name.downcase).first 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 + u = User.visible.where("LOWER(login) = :s AND type = 'User'", :s => name.downcase).first link = link_to_user(u, :only_path => only_path) if u end end @@ -1067,7 +1067,7 @@ module ApplicationHelper )| ( (?@) - (?[a-z0-9_\-@\.]*) + (?[A-Za-z0-9_\-@\.]*) ) ) (?= diff --git a/test/helpers/application_helper_test.rb b/test/helpers/application_helper_test.rb index fd0886c80..d4990d39f 100644 --- a/test/helpers/application_helper_test.rb +++ b/test/helpers/application_helper_test.rb @@ -403,8 +403,10 @@ RAW "http://foo.bar/FAQ#3" => 'http://foo.bar/FAQ#3', # user 'user:jsmith' => link_to_user(User.find_by_id(2)), + 'user:JSMITH' => link_to_user(User.find_by_id(2)), 'user#2' => link_to_user(User.find_by_id(2)), '@jsmith' => link_to_user(User.find_by_id(2)), + '@JSMITH' => link_to_user(User.find_by_id(2)), '@abcd@example.com' => link_to_user(User.find_by_id(u_email_id)), 'user:abcd@example.com' => link_to_user(User.find_by_id(u_email_id)), '@foo.bar@example.com' => link_to_user(User.find_by_id(u_email_id_2)),