@@ -66,8 +66,7 class IssuesController < ApplicationController | |||||
66 | @issue_count = @query.issue_count |
|
66 | @issue_count = @query.issue_count | |
67 | @issue_pages = Paginator.new @issue_count, @limit, params['page'] |
|
67 | @issue_pages = Paginator.new @issue_count, @limit, params['page'] | |
68 | @offset ||= @issue_pages.offset |
|
68 | @offset ||= @issue_pages.offset | |
69 | @issues = @query.issues(:include => [:assigned_to, :tracker, :priority, :category, :fixed_version], |
|
69 | @issues = @query.issues(:order => sort_clause, | |
70 | :order => sort_clause, |
|
|||
71 | :offset => @offset, |
|
70 | :offset => @offset, | |
72 | :limit => @limit) |
|
71 | :limit => @limit) | |
73 | @issue_count_by_group = @query.issue_count_by_group |
|
72 | @issue_count_by_group = @query.issue_count_by_group | |
@@ -402,7 +401,7 class IssuesController < ApplicationController | |||||
402 | sort_init(@query.sort_criteria.empty? ? [['id', 'desc']] : @query.sort_criteria) |
|
401 | sort_init(@query.sort_criteria.empty? ? [['id', 'desc']] : @query.sort_criteria) | |
403 | sort_update(@query.sortable_columns, 'issues_index_sort') |
|
402 | sort_update(@query.sortable_columns, 'issues_index_sort') | |
404 | limit = 500 |
|
403 | limit = 500 | |
405 |
issue_ids = @query.issue_ids(:order => sort_clause, :limit => (limit + 1) |
|
404 | issue_ids = @query.issue_ids(:order => sort_clause, :limit => (limit + 1)) | |
406 | if (idx = issue_ids.index(@issue.id)) && idx < limit |
|
405 | if (idx = issue_ids.index(@issue.id)) && idx < limit | |
407 | if issue_ids.size < 500 |
|
406 | if issue_ids.size < 500 | |
408 | @issue_position = idx + 1 |
|
407 | @issue_position = idx + 1 |
@@ -273,9 +273,9 class IssueQuery < Query | |||||
273 | limit(options[:limit]). |
|
273 | limit(options[:limit]). | |
274 | offset(options[:offset]) |
|
274 | offset(options[:offset]) | |
275 |
|
275 | |||
|
276 | scope = scope.preload([:tracker, :priority, :author, :assigned_to, :fixed_version, :category] & columns.map(&:name)) | |||
|
277 | if has_custom_field_column? | |||
276 | scope = scope.preload(:custom_values) |
|
278 | scope = scope.preload(:custom_values) | |
277 | if has_column?(:author) |
|
|||
278 | scope = scope.preload(:author) |
|
|||
279 | end |
|
279 | end | |
280 |
|
280 | |||
281 | issues = scope.to_a |
|
281 | issues = scope.to_a | |
@@ -513,6 +513,21 class IssueQuery < Query | |||||
513 | if order_options.include?('authors') |
|
513 | if order_options.include?('authors') | |
514 | joins << "LEFT OUTER JOIN #{User.table_name} authors ON authors.id = #{queried_table_name}.author_id" |
|
514 | joins << "LEFT OUTER JOIN #{User.table_name} authors ON authors.id = #{queried_table_name}.author_id" | |
515 | end |
|
515 | end | |
|
516 | if order_options.include?('users') | |||
|
517 | joins << "LEFT OUTER JOIN #{User.table_name} ON #{User.table_name}.id = #{queried_table_name}.assigned_to_id" | |||
|
518 | end | |||
|
519 | if order_options.include?('fixed_version') | |||
|
520 | joins << "LEFT OUTER JOIN #{Version.table_name} ON #{Version.table_name}.id = #{queried_table_name}.fixed_version_id" | |||
|
521 | end | |||
|
522 | if order_options.include?('category') | |||
|
523 | joins << "LEFT OUTER JOIN #{IssueCategory.table_name} ON #{IssueCategory.table_name}.id = #{queried_table_name}.category_id" | |||
|
524 | end | |||
|
525 | if order_options.include?('tracker') | |||
|
526 | joins << "LEFT OUTER JOIN #{Tracker.table_name} ON #{Tracker.table_name}.id = #{queried_table_name}.tracker_id" | |||
|
527 | end | |||
|
528 | if order_options.include?('enumeration') | |||
|
529 | joins << "LEFT OUTER JOIN #{IssuePriority.table_name} ON #{IssuePriority.table_name}.id = #{queried_table_name}.priority_id" | |||
|
530 | end | |||
516 | end |
|
531 | end | |
517 |
|
532 | |||
518 | joins.any? ? joins.join(' ') : nil |
|
533 | joins.any? ? joins.join(' ') : nil |
General Comments 0
You need to be logged in to leave comments.
Login now