def issues(options={})
order_option = [group_by_sort_order, options[:order]].flatten.reject(&:blank?)
- issues = Issue.visible.
+ scope = Issue.visible.
joins(:status, :project).
where(statement).
includes(([:status, :project] + (options[:include] || [])).uniq).
order(order_option).
joins(joins_for_order_statement(order_option.join(','))).
limit(options[:limit]).
- offset(options[:offset]).
- all
+ offset(options[:offset])
+
+ if has_custom_field_column?
+ scope = scope.preload(:custom_values)
+ end
+
+ issues = scope.all
if has_column?(:spent_hours)
Issue.load_visible_spent_hours(issues)
column_names && column_names.include?(column.is_a?(QueryColumn) ? column.name : column)
end
+ def has_custom_field_column?
+ columns.any? {|column| column.is_a? QueryCustomFieldColumn}
+ end
+
def has_default_columns?
column_names.nil? || column_names.empty?
end