Merged r22947 and r22948 from trunk to 5.1-stable (#41079).

git-svn-id: https://svn.redmine.org/redmine/branches/5.1-stable@22957 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2024-08-13 01:34:16 +00:00
parent e7980d7f4c
commit cac20eef42
2 changed files with 18 additions and 3 deletions

View File

@@ -618,7 +618,7 @@ class Query < ActiveRecord::Base
author_values = []
author_values << ["<< #{l(:label_me)} >>", "me"] if User.current.logged?
author_values +=
users.sort_by(&:status).
users.sort_by{|p| [p.status, p]}.
collect{|s| [s.name, s.id.to_s, l("status_#{User::LABEL_BY_STATUS[s.status]}")]}
author_values << [l(:label_user_anonymous), User.anonymous.id.to_s]
author_values
@@ -628,7 +628,7 @@ class Query < ActiveRecord::Base
assigned_to_values = []
assigned_to_values << ["<< #{l(:label_me)} >>", "me"] if User.current.logged?
assigned_to_values +=
(Setting.issue_group_assignment? ? principals : users).sort_by(&:status).
(Setting.issue_group_assignment? ? principals : users).sort_by{|p| [p.status, p]}.
collect{|s| [s.name, s.id.to_s, l("status_#{User::LABEL_BY_STATUS[s.status]}")]}
assigned_to_values
end
@@ -658,7 +658,7 @@ class Query < ActiveRecord::Base
watcher_values = [["<< #{l(:label_me)} >>", "me"]]
if User.current.allowed_to?(:view_issue_watchers, self.project, global: true)
watcher_values +=
principals.sort_by(&:status).
principals.sort_by{|p| [p.status, p]}.
collect{|s| [s.name, s.id.to_s, l("status_#{User::LABEL_BY_STATUS[s.status]}")]}
end
watcher_values

View File

@@ -3291,4 +3291,19 @@ class QueryTest < ActiveSupport::TestCase
assert_equal 'board', query.display_type
end
def test_assigned_to_values_should_be_sorted_by_status_and_name
User.delete_all
20.times do |i|
str = format('%03d', i)
status = i.even? ? User::STATUS_ACTIVE : User::STATUS_LOCKED
User.create!(firstname: str, lastname: str, login: str, mail: "#{str}@example.net", status: status)
end
query = IssueQuery.new(:name => '_')
query.stubs(:users).returns(User.all)
expected_names = User.order(:status, :firstname).all.map(&:name)
assigned_to_values = query.assigned_to_values
assert_equal expected_names, assigned_to_values[1..].map(&:first)
end
end