mirror of
https://github.com/redmine/redmine.git
synced 2026-02-08 07:40:13 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user