Feature #10412 » grouped_version_filter_trunk_r15418.patch
app/models/issue_query.rb | ||
---|---|---|
140 | 140 |
subprojects = project.descendants.visible.to_a |
141 | 141 |
principals += Principal.member_of(subprojects).visible |
142 | 142 |
end |
143 |
versions = project.shared_versions.to_a
|
|
143 |
versions = Version::VERSION_STATUSES.collect {|s| project.shared_versions.where(:status => s).sort.to_a}.flatten
|
|
144 | 144 |
categories = project.issue_categories.to_a |
145 | 145 |
issue_custom_fields = project.all_issue_custom_fields |
146 | 146 |
else |
147 | 147 |
if all_projects.any? |
148 | 148 |
principals += Principal.member_of(all_projects).visible |
149 | 149 |
end |
150 |
versions = Version.visible.where(:sharing => 'system').to_a
|
|
150 |
versions = Version::VERSION_STATUSES.collect {|s| Version.visible.where(:sharing => 'system').where(:status => s).sort.to_a}.flatten
|
|
151 | 151 |
issue_custom_fields = IssueCustomField.where(:is_for_all => true) |
152 | 152 |
end |
153 | 153 |
principals.uniq! |
... | ... | |
201 | 201 | |
202 | 202 |
add_available_filter "fixed_version_id", |
203 | 203 |
:type => :list_optional, |
204 |
:values => versions.sort.collect{|s| ["#{s.project.name} - #{s.name}", s.id.to_s] }
|
|
204 |
:values => versions.collect{|s| [l("version_status_#{s.status}"), "#{s.project.name} - #{s.name}", s.id.to_s] }
|
|
205 | 205 | |
206 | 206 |
add_available_filter "category_id", |
207 | 207 |
:type => :list_optional, |
public/javascripts/application.js | ||
---|---|---|
173 | 173 |
var filterValue = filterValues[i]; |
174 | 174 |
var option = $('<option>'); |
175 | 175 |
if ($.isArray(filterValue)) { |
176 |
option.val(filterValue[1]).text(filterValue[0]); |
|
177 |
if ($.inArray(filterValue[1], values) > -1) {option.attr('selected', true);} |
|
176 |
if (filterValue.length == 3) { |
|
177 |
option = select.find('optgroup[label=\''+filterValue[0]+'\']'); |
|
178 |
if (!option.length) {option = $('<optgroup label="'+filterValue[0]+'">');} |
|
179 |
var grouped_option = $('<option>'); |
|
180 |
grouped_option.val(filterValue[2]).text(filterValue[1]); |
|
181 |
if ($.inArray(filterValue[2], values) > -1) {grouped_option.attr('selected', true);} |
|
182 |
option.append(grouped_option); |
|
183 |
} else { |
|
184 |
option.val(filterValue[1]).text(filterValue[0]); |
|
185 |
if ($.inArray(filterValue[1], values) > -1) {option.attr('selected', true);} |
|
186 |
} |
|
178 | 187 |
} else { |
179 | 188 |
option.val(filterValue).text(filterValue); |
180 | 189 |
if ($.inArray(filterValue, values) > -1) {option.attr('selected', true);} |