Defect #6244 » 0001-Fix-6244-Make-Issues-use-Setting.user_format.patch
| app/models/query.rb | ||
|---|---|---|
| 126 | 126 |
QueryColumn.new(:priority, :sortable => "#{IssuePriority.table_name}.position", :default_order => 'desc', :groupable => true),
|
| 127 | 127 |
QueryColumn.new(:subject, :sortable => "#{Issue.table_name}.subject"),
|
| 128 | 128 |
QueryColumn.new(:author), |
| 129 |
QueryColumn.new(:assigned_to, :sortable => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"], :groupable => true),
|
|
| 129 |
QueryColumn.new(:assigned_to, :sortable => User::USER_SORT_FORMATS[:lastname_firstname], :groupable => true),
|
|
| 130 | 130 |
QueryColumn.new(:updated_on, :sortable => "#{Issue.table_name}.updated_on", :default_order => 'desc'),
|
| 131 | 131 |
QueryColumn.new(:category, :sortable => "#{IssueCategory.table_name}.name", :groupable => true),
|
| 132 | 132 |
QueryColumn.new(:fixed_version, :sortable => ["#{Version.table_name}.effective_date", "#{Version.table_name}.name"], :default_order => 'desc', :groupable => true),
|
| ... | ... | |
| 283 | 283 |
def available_columns |
| 284 | 284 |
return @available_columns if @available_columns |
| 285 | 285 |
@available_columns = Query.available_columns |
| 286 | ||
| 287 |
#override Class variable values with :user_format from the database |
|
| 288 |
assigned_to_query_column = @available_columns.find {|col| col.is_a?(QueryColumn) && col.name == :assigned_to }
|
|
| 289 |
assigned_to_query_column.sortable = User::USER_SORT_FORMATS[Setting.user_format] unless assigned_to_query_column.nil? |
|
| 290 |
|
|
| 286 | 291 |
@available_columns += (project ? |
| 287 | 292 |
project.all_issue_custom_fields : |
| 288 | 293 |
IssueCustomField.find(:all) |
| app/models/user.rb | ||
|---|---|---|
| 32 | 32 |
:lastname_coma_firstname => '#{lastname}, #{firstname}',
|
| 33 | 33 |
:username => '#{login}'
|
| 34 | 34 |
} |
| 35 |
|
|
| 36 |
USER_SORT_FORMATS = {
|
|
| 37 |
:firstname_lastname => ["#{User.table_name}.firstname", "#{User.table_name}.lastname", "#{User.table_name}.id"],
|
|
| 38 |
:firstname => ["#{User.table_name}.firstname", "#{User.table_name}.id"],
|
|
| 39 |
:lastname_firstname => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"],
|
|
| 40 |
:lastname_coma_firstname => ["#{User.table_name}.lastname", "#{User.table_name}.firstname", "#{User.table_name}.id"],
|
|
| 41 |
:username => ["#{User.table_name}.login", "#{User.table_name}.id"]
|
|
| 42 |
} |
|
| 35 | 43 | |
| 36 | 44 |
has_and_belongs_to_many :groups, :after_add => Proc.new {|user, group| group.user_added(user)},
|
| 37 | 45 |
:after_remove => Proc.new {|user, group| group.user_removed(user)}
|
| test/unit/query_test.rb | ||
|---|---|---|
| 303 | 303 |
assert_equal values.sort, values |
| 304 | 304 |
end |
| 305 | 305 |
|
| 306 |
def test_sort_by_assignee_default |
|
| 307 |
q = Query.new |
|
| 308 |
c = q.available_columns.find {|col| col.is_a?(QueryColumn) && col.name == :assigned_to }
|
|
| 309 |
|
|
| 310 |
assert c |
|
| 311 |
#since this test does not explicitly set Setting.user_format, it ultimately defaults back |
|
| 312 |
#to the value in config/settings.yml which is :firstname_lastname |
|
| 313 |
assert c.sortable == ["#{User.table_name}.firstname", "#{User.table_name}.lastname", "#{User.table_name}.id"]
|
|
| 314 |
end |
|
| 315 |
|
|
| 316 |
def test_sort_by_assignee_username |
|
| 317 |
current_display_format = Setting.user_format |
|
| 318 |
assert current_display_format != :username |
|
| 319 |
|
|
| 320 |
Setting.user_format = :username |
|
| 321 |
|
|
| 322 |
q = Query.new |
|
| 323 |
c = q.available_columns.find {|col| col.is_a?(QueryColumn) && col.name == :assigned_to }
|
|
| 324 |
|
|
| 325 |
assert c |
|
| 326 |
assert c.sortable == ["#{User.table_name}.login", "#{User.table_name}.id"]
|
|
| 327 | ||
| 328 |
Setting.user_format = current_display_format |
|
| 329 |
end |
|
| 330 | ||
| 306 | 331 |
def test_invalid_query_should_raise_query_statement_invalid_error |
| 307 | 332 |
q = Query.new |
| 308 | 333 |
assert_raise Query::StatementInvalid do |
- « Previous
- 1
- 2
- 3
- 4
- Next »