@versions = @project.versions\r
end\r
\r
- # Show changelog of @project\r
+ # Show changelog for @project\r
def changelog\r
+ @trackers = Tracker.find(:all, :conditions => ["is_in_chlog=?", true])\r
+ if request.get?\r
+ @selected_tracker_ids = @trackers.collect {|t| t.id.to_s }\r
+ else\r
+ @selected_tracker_ids = params[:tracker_ids].collect { |id| id.to_i.to_s } if params[:tracker_ids] and params[:tracker_ids].is_a? Array\r
+ end\r
+ @selected_tracker_ids ||= []\r
@fixed_issues = @project.issues.find(:all, \r
- :include => [ :fixed_version, :status, :tracker ], \r
- :conditions => [ "issue_statuses.is_closed=? and trackers.is_in_chlog=? and issues.fixed_version_id is not null", true, true]\r
- )\r
+ :include => [ :fixed_version, :status, :tracker ], \r
+ :conditions => [ "issue_statuses.is_closed=? and issues.tracker_id in (#{@selected_tracker_ids.join(',')}) and issues.fixed_version_id is not null", true],\r
+ :order => "versions.effective_date DESC, issues.id DESC"\r
+ ) unless @selected_tracker_ids.empty?\r
+ @fixed_issues ||= []\r
end\r
\r
private\r
# Find project of id params[:id]\r
# if not found, redirect to project list\r
- # used as a before_filter\r
+ # Used as a before_filter\r
def find_project\r
@project = Project.find(params[:id]) \r
rescue
<h2><%=l(:label_change_log)%></h2>\r
\r
-<% fixed_issues = @fixed_issues.group_by {|i| i.fixed_version } %>\r
-<% fixed_issues.each do |version, issues| %>\r
- <p><strong><%= version.name %></strong> - <%= format_date(version.effective_date) %><br />\r
- <%=h version.description %></p>\r
- <ul> \r
- <% issues.each do |i| %>\r
- <li><%= link_to i.long_id, :controller => 'issues', :action => 'show', :id => i %> [<%= i.tracker.name %>]: <%= i.subject %></li>\r
- <% end %>\r
- </ul>\r
+\r
+<%= start_form_tag %>\r
+<% @trackers.each do |tracker| %>\r
+ <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>\r
+ <%= tracker.name %>\r
<% end %>\r
+ <%= submit_tag l(:button_apply), :class => 'button-small' %>\r
+<%= end_form_tag %>\r
+\r
+<p> </p>\r
+\r
+<% ver_id = nil\r
+ @fixed_issues.each do |issue| %> \r
+ <% unless ver_id == issue.fixed_version_id %>\r
+ <% if ver_id %></ul><% end %>\r
+ <p><strong><%= issue.fixed_version.name %></strong> - <%= format_date(issue.fixed_version.effective_date) %><br />\r
+ <%=h issue.fixed_version.description %></p>\r
+ <ul>\r
+ <% ver_id = issue.fixed_version_id\r
+ end %>\r
+ <li><%= link_to issue.long_id, :controller => 'issues', :action => 'show', :id => issue %> [<%= issue.tracker.name %>]: <%= issue.subject %></li>\r
+<% end %>\r
+\r