Overdue versions (date reached and open issues > 0) are now always displayed on the roadmap.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@604 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -443,8 +443,8 @@ class ProjectsController < ApplicationController
|
||||
def roadmap
|
||||
@trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position')
|
||||
retrieve_selected_tracker_ids(@trackers)
|
||||
conditions = ("1" == params[:completed] ? nil : [ "#{Version.table_name}.effective_date > ? OR #{Version.table_name}.effective_date IS NULL", Date.today])
|
||||
@versions = @project.versions.find(:all, :conditions => conditions).sort
|
||||
@versions = @project.versions.sort
|
||||
@versions = @versions.select {|v| !v.completed? } unless params[:completed]
|
||||
end
|
||||
|
||||
def activity
|
||||
|
||||
+15
-1
@@ -34,8 +34,22 @@ class Version < ActiveRecord::Base
|
||||
effective_date
|
||||
end
|
||||
|
||||
# Returns true if the version is completed: due date reached and no open issues
|
||||
def completed?
|
||||
effective_date && effective_date <= Date.today
|
||||
effective_date && (effective_date <= Date.today) && (open_issues_count == 0)
|
||||
end
|
||||
|
||||
# Returns true if the version is overdue: due date reached and some open issues
|
||||
def overdue?
|
||||
effective_date && (effective_date < Date.today) && (open_issues_count > 0)
|
||||
end
|
||||
|
||||
def open_issues_count
|
||||
@open_issues_count ||= Issue.count(:all, :conditions => ["fixed_version_id = ? AND is_closed = ?", self.id, false], :include => :status)
|
||||
end
|
||||
|
||||
def closed_issues_count
|
||||
@closed_issues_count ||= Issue.count(:all, :conditions => ["fixed_version_id = ? AND is_closed = ?", self.id, true], :include => :status)
|
||||
end
|
||||
|
||||
def wiki_page
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
<a name="<%= version.name %>"><h3 class="icon22 icon22-package"><%= version.name %></h3></a>
|
||||
<% if version.completed? %>
|
||||
<p><%= format_date(version.effective_date) %></p>
|
||||
<% elsif version.overdue? %>
|
||||
<p><strong><%= l(:label_roadmap_overdue, distance_of_time_in_words(Time.now, version.effective_date)) %> (<%= format_date(version.effective_date) %>)</strong></p>
|
||||
<% elsif version.effective_date %>
|
||||
<p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
|
||||
<% end %>
|
||||
|
||||
Reference in New Issue
Block a user