Patch #16730

Fix ordering in ApplicationHelper method principals_options_for_select

Added by Joseph Wang over 7 years ago. Updated over 7 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Issues
Target version:-

Description

We experienced problems on assigning issues recently.
We have a lot of members for some projects (about 30+ people each project).
User's name (first name & last name) are in non-English.
The problem is seems Redmine does not sort users in Assignee drop down while editing a issue, so it is very hard to find a user.
We are wondering if Redmine could provide a search box like adding watchers do.

History

#1 Updated by Jan Niggemann (redmine.org team member) over 7 years ago

I think that ApplicationHelpers' method principals_options_for_select does sort, perhaps it's not properly working for foreign locales?
source:trunk/app/helpers/application_helper.rb#L375

#2 Updated by Joseph Wang over 7 years ago

Jan Niggemann (redmine.org team member) wrote:

I think that ApplicationHelpers' method principals_options_for_select does sort, perhaps it's not properly working for foreign locales?
source:trunk/app/helpers/application_helper.rb#L375

My locale is zh. User names are in Chinese.

#3 Updated by Joseph Wang over 7 years ago

Jan Niggemann (redmine.org team member) wrote:

I think that ApplicationHelpers' method principals_options_for_select does sort, perhaps it's not properly working for foreign locales?
source:trunk/app/helpers/application_helper.rb#L375

I totally don't have experience on Ruby, but seems this line is a problem:

collection.sort.each do |element|

collection contains User objects? Doesn't the sort method sort elements by address? or something else?

I googled "Ruby sort collection" and got this:
http://stackoverflow.com/questions/882070/sorting-an-array-of-objects-in-ruby-by-object-attribute

Then I changed the line to following:

collection.sort_by{|user|user.lastname}.each do |element|

Then glad to see it works. Redmine sorted Assignees by last name even in Chinese.

Hope that won't bring side effect.

#4 Updated by Jan Niggemann (redmine.org team member) over 7 years ago

  • Subject changed from Needs easy way to pick assignee to Fix ordering in ApplicationHelper method principals_options_for_select
  • Category set to Issues

#5 Updated by Jan Niggemann (redmine.org team member) over 7 years ago

  • Tracker changed from Feature to Patch

#6 Updated by Toshi MARUYAMA over 7 years ago

"User" has order attribute.
source:tags/2.5.1/app/models/user.rb#L24

Also available in: Atom PDF