Patch #1475 ยป subject_sort_subproject.patch
| app/helpers/queries_helper.rb (working copy) | ||
|---|---|---|
| 22 | 22 |
end |
| 23 | 23 |
|
| 24 | 24 |
def column_header(column) |
| 25 |
column.sortable ? sort_header_tag(column.sortable, :caption => column.caption,
|
|
| 26 |
:default_order => column.default_order) :
|
|
| 27 |
content_tag('th', column.caption)
|
|
| 25 |
column.sortable ? sort_header_tag(column.sortable, :caption => column.caption,
|
|
| 26 |
:default_order => column.default_order) :
|
|
| 27 |
content_tag('th', column.caption)
|
|
| 28 | 28 |
end |
| 29 | 29 |
|
| 30 | 30 |
def column_content(column, issue) |
| ... | ... | |
| 40 | 40 |
else |
| 41 | 41 |
case column.name |
| 42 | 42 |
when :subject |
| 43 |
h((@project.nil? || @project != issue.project) ? "#{issue.project.name} - " : '') +
|
|
| 43 |
((@project.nil? || @project != issue.project) ? '<font color="#B26917">' + h("[#{issue.project.name}] ") + '</font>': '') +
|
|
| 44 | 44 |
link_to(h(value), :controller => 'issues', :action => 'show', :id => issue) |
| 45 | 45 |
when :done_ratio |
| 46 |
progress_bar(value, :width => '80px')
|
|
| 46 |
progress_bar(value) |
|
| 47 | 47 |
else |
| 48 | 48 |
h(value) |
| 49 | 49 |
end |
| app/helpers/sort_helper.rb (working copy) | ||
|---|---|---|
| 92 | 92 |
# - The optional caption explicitly specifies the displayed link text. |
| 93 | 93 |
# - A sort icon image is positioned to the right of the sort link. |
| 94 | 94 |
# |
| 95 |
def sort_link(column, caption, default_order) |
|
| 95 |
def sort_link(column, caption, default_order, project_id)
|
|
| 96 | 96 |
key, order = session[@sort_name][:key], session[@sort_name][:order] |
| 97 |
if key == column |
|
| 98 |
if order.downcase == 'asc' |
|
| 99 |
icon = 'sort_asc.png' |
|
| 100 |
order = 'desc' |
|
| 101 |
else |
|
| 102 |
icon = 'sort_desc.png' |
|
| 103 |
order = 'asc' |
|
| 104 |
end |
|
| 97 |
if order.downcase == 'asc' |
|
| 98 |
icon = 'sort_asc.png' |
|
| 99 |
order = 'desc' |
|
| 105 | 100 |
else |
| 101 |
icon = 'sort_desc.png' |
|
| 102 |
order = 'asc' |
|
| 103 |
end |
|
| 104 |
if key !~ /#{column}/
|
|
| 106 | 105 |
icon = nil |
| 107 | 106 |
order = default_order |
| 108 | 107 |
end |
| 108 |
|
|
| 109 |
if column == 'issues.subject' |
|
| 110 |
project_id = params[:project_id] |
|
| 111 |
column = 'projects.name,issues.subject' |
|
| 112 |
end |
|
| 113 | ||
| 109 | 114 |
caption = titleize(Inflector::humanize(column)) unless caption |
| 110 |
|
|
| 111 | 115 |
sort_options = { :sort_key => column, :sort_order => order }
|
| 112 | 116 |
# don't reuse params if filters are present |
| 113 | 117 |
url_options = params.has_key?(:set_filter) ? sort_options : params.merge(sort_options) |
| ... | ... | |
| 142 | 146 |
caption = options.delete(:caption) || titleize(Inflector::humanize(column)) |
| 143 | 147 |
default_order = options.delete(:default_order) || 'asc' |
| 144 | 148 |
options[:title]= l(:label_sort_by, "\"#{caption}\"") unless options[:title]
|
| 145 |
content_tag('th', sort_link(column, caption, default_order), options)
|
|
| 149 |
project_id = options.delete(:project_id) || 'est' |
|
| 150 |
content_tag('th', sort_link(column, caption, default_order, project_id), options)
|
|
| 146 | 151 |
end |
| 147 | 152 | |
| 148 | 153 |
private |