Defect #26892

Link to user in wiki syntax only works when login is written in lower case

Added by Anders Thomsen over 1 year ago. Updated 3 months ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Jean-Philippe Lang% Done:

0%

Category:Text formatting
Target version:4.0.0
Resolution:Fixed Affected version:3.4.2

Description

Related: #4179

The plugin "Redmine Mentions" gives a handy dropdown with users when hitting "@" on the keyboard. Selecting a user puts "@loginname" in the textbox. This works great with the feature implemented in #4179. However, if the user's login contains capital letters it is not recognized by the regex in application_helper.

"Redmine mentions" puts in the actual login-name with exact casing (what I believe is the correct behaivour).

The regex should be ajusted to a-zA-Z

0001-user-link-syntax-should-work-also-with-logins-in-upp.patch Magnifier (1.79 KB) Marius BALTEANU, 2018-04-08 09:38


Related issues

Related to Redmine - Feature #4179: Link to user in wiki syntax Closed 2009-11-08
Blocked by Redmine - Defect #26443: User link syntax (user:login) doesn't work for logins con... Closed

Associated revisions

Revision 17516
Added by Jean-Philippe Lang 3 months ago

Link to user in wiki syntax only works when login is written in lower case (#26892).

Patch by Marius BALTEANU and Go MAEDA.

History

#1 Updated by Go MAEDA about 1 year ago

#2 Updated by Toshi MARUYAMA about 1 year ago

  • Target version set to 4.1.0

#3 Updated by Marius BALTEANU 8 months ago

  • Blocked by Defect #26443: User link syntax (user:login) doesn't work for logins consisting of an email adress added

#4 Updated by Marius BALTEANU 8 months ago

Attached is a patch that fixes this issue and it should be applied after #26443.

#5 Updated by Marius BALTEANU 8 months ago

  • Status changed from New to Confirmed

#6 Updated by Jean-Philippe Lang 6 months ago

  • Assignee set to Marius BALTEANU

Marius, I have applied #26443 and I'm getting a failure for the test included in this patch:

Failure:
ApplicationHelperTest#test_redmine_links [test/helpers/application_helper_test.rb:406]:
user:JSMITH failed.
Expected: "<p><a class=\"user active\" href=\"/users/2\">John Smith</a></p>" 
  Actual: "<p>user:JSMITH</p>" 

Can you have a look please?

#7 Updated by Go MAEDA 6 months ago

Jean-Philippe Lang wrote:

Marius, I have applied #26443 and I'm getting a failure for the test included in this patch:

This is a workaround for the error.

Index: app/helpers/application_helper.rb
===================================================================
--- app/helpers/application_helper.rb    (revision 17395)
+++ app/helpers/application_helper.rb    (working copy)
@@ -975,12 +975,12 @@
                 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

#8 Updated by Marius BALTEANU 6 months ago

  • Assignee deleted (Marius BALTEANU)
  • Target version changed from 4.1.0 to 4.0.0

I agree with the workaround posted above by Go Maeda, it is enough to fix the failing test. It seems that on my local environment, the search is case insensitive and the test doesn't fail.

#9 Updated by Go MAEDA 6 months ago

  • Assignee set to Jean-Philippe Lang

#10 Updated by Jean-Philippe Lang 3 months ago

  • Status changed from Confirmed to Closed
  • Resolution set to Fixed

Committed, thanks.

Also available in: Atom PDF