diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 68d3c94f7..a598ac8f5 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -56,7 +56,7 @@ class IssuesController < ApplicationController def index retrieve_query sort_init(@query.sort_criteria.empty? ? [['id', 'desc']] : @query.sort_criteria) - sort_update({'id' => "#{Issue.table_name}.id"}.merge(@query.available_columns.inject({}) {|h, c| h[c.name.to_s] = c.sortable; h})) + sort_update(@query.sortable_columns) if @query.valid? limit = case params[:format] @@ -94,7 +94,7 @@ class IssuesController < ApplicationController def changes retrieve_query sort_init 'id', 'desc' - sort_update({'id' => "#{Issue.table_name}.id"}.merge(@query.available_columns.inject({}) {|h, c| h[c.name.to_s] = c.sortable; h})) + sort_update(@query.sortable_columns) if @query.valid? @journals = @query.journals(:order => "#{Journal.table_name}.created_on DESC", diff --git a/app/models/query.rb b/app/models/query.rb index b54d94237..c223654f1 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -270,6 +270,14 @@ class Query < ActiveRecord::Base def groupable_columns available_columns.select {|c| c.groupable} end + + # Returns a Hash of columns and the key for sorting + def sortable_columns + {'id' => "#{Issue.table_name}.id"}.merge(available_columns.inject({}) {|h, column| + h[column.name.to_s] = column.sortable + h + }) + end def columns if has_default_columns?