More appropriate default sort order on sortable columns.

Sortable column added on issue subject (#580).

git-svn-id: http://redmine.rubyforge.org/svn/trunk@1121 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-02-05 17:28:02 +00:00
parent 80a60247f5
commit 54ff294da1
6 changed files with 24 additions and 18 deletions
+3 -1
View File
@@ -22,7 +22,9 @@ module QueriesHelper
end
def column_header(column)
column.sortable ? sort_header_tag(column.sortable, :caption => column.caption) : content_tag('th', column.caption)
column.sortable ? sort_header_tag(column.sortable, :caption => column.caption,
:default_order => column.default_order) :
content_tag('th', column.caption)
end
def column_content(column, issue)
+7 -4
View File
@@ -92,7 +92,7 @@ module SortHelper
# - The optional caption explicitly specifies the displayed link text.
# - A sort icon image is positioned to the right of the sort link.
#
def sort_link(column, caption=nil)
def sort_link(column, caption, default_order)
key, order = session[@sort_name][:key], session[@sort_name][:order]
if key == column
if order.downcase == 'asc'
@@ -104,11 +104,13 @@ module SortHelper
end
else
icon = nil
order = 'desc' # changed for desc order by default
order = default_order
end
caption = titleize(Inflector::humanize(column)) unless caption
url = {:sort_key => column, :sort_order => order, :issue_id => params[:issue_id], :project_id => params[:project_id]}
url = {:sort_key => column, :sort_order => order, :status => params[:status],
:issue_id => params[:issue_id],
:project_id => params[:project_id]}
link_to_remote(caption,
{:update => "content", :url => url},
@@ -138,8 +140,9 @@ module SortHelper
#
def sort_header_tag(column, options = {})
caption = options.delete(:caption) || titleize(Inflector::humanize(column))
default_order = options.delete(:default_order) || 'asc'
options[:title]= l(:label_sort_by, "\"#{caption}\"") unless options[:title]
content_tag('th', sort_link(column, caption), options)
content_tag('th', sort_link(column, caption, default_order), options)
end
private