diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects_controller.rb | 5 | ||||
-rw-r--r-- | app/helpers/projects_helper.rb | 9 | ||||
-rw-r--r-- | app/models/version.rb | 4 | ||||
-rw-r--r-- | app/views/projects/calendar.rhtml | 2 | ||||
-rw-r--r-- | app/views/projects/changelog.rhtml | 7 | ||||
-rw-r--r-- | app/views/projects/gantt.rhtml | 2 | ||||
-rw-r--r-- | app/views/projects/roadmap.rhtml | 22 |
7 files changed, 32 insertions, 19 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index ca6ea8d8e..971d0acd3 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -448,10 +448,11 @@ class ProjectsController < ApplicationController def roadmap @trackers = Tracker.find(:all, :conditions => ["is_in_roadmap=?", true], :order => 'position') - retrieve_selected_tracker_ids(@trackers) + retrieve_selected_tracker_ids(@trackers) + conditions = ("1" == params[:completed] ? nil : [ "#{Version.table_name}.effective_date > ?", Date.today]) @versions = @project.versions.find(:all, - :conditions => [ "#{Version.table_name}.effective_date>?", Date.today], + :conditions => conditions, :order => "#{Version.table_name}.effective_date ASC" ) end diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index c7e80b0a0..74805ba53 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -16,4 +16,13 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module ProjectsHelper + def link_to_version(version, options = {}) + return '' unless version && version.is_a?(Version) + link_to version.name, {:controller => 'projects', + :action => 'roadmap', + :id => version.project_id, + :completed => (version.completed? ? 1 : nil), + :anchor => version.name + }, options + end end diff --git a/app/models/version.rb b/app/models/version.rb index ddae037a6..463ca3354 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -33,6 +33,10 @@ class Version < ActiveRecord::Base effective_date end + def completed? + effective_date && effective_date <= Date.today + end + private def check_integrity raise "Can't delete version" if self.fixed_issues.find(:first) diff --git a/app/views/projects/calendar.rhtml b/app/views/projects/calendar.rhtml index 2a53831fe..48fdaf64d 100644 --- a/app/views/projects/calendar.rhtml +++ b/app/views/projects/calendar.rhtml @@ -74,7 +74,7 @@ while day <= @date_to </span> </div> <% else %> - <%= image_tag('milestone.png') %> <small><%= "#{l(:label_version)}: #{i.name}" %></small> + <small><%= link_to_version i, :class => "icon icon-package" %></small> <% end %> <% end %> </td> diff --git a/app/views/projects/changelog.rhtml b/app/views/projects/changelog.rhtml index 51724f149..f42f32c42 100644 --- a/app/views/projects/changelog.rhtml +++ b/app/views/projects/changelog.rhtml @@ -1,14 +1,12 @@ <h2><%=l(:label_change_log)%></h2> -<div> - <div class="rightbox" style="width:140px;"> <% form_tag do %> -<p><strong><%=l(:label_tracker_plural)%></strong></p> +<p><strong><%=l(:label_tracker_plural)%></strong><br /> <% @trackers.each do |tracker| %> <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> <%= tracker.name %><br /> -<% end %> +<% end %></p> <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p> <% end %> </div> @@ -27,4 +25,3 @@ end %> <li><%= link_to_issue issue %>: <%=h issue.subject %></li> <% end %> -</div>
\ No newline at end of file diff --git a/app/views/projects/gantt.rhtml b/app/views/projects/gantt.rhtml index 317fd993d..ccc9a019a 100644 --- a/app/views/projects/gantt.rhtml +++ b/app/views/projects/gantt.rhtml @@ -90,7 +90,7 @@ top = headers_height + 8 <%= link_to_issue i %><%= " (#{i.project.name})" unless @project && @project == i.project %>: <%=h i.subject %> <% else %> - <strong><%= "#{l(:label_version)}: #{i.name}" %></strong> + <%= link_to_version i, :class => "icon icon-package" %> <% end %> </small></div> <% top = top + 20 diff --git a/app/views/projects/roadmap.rhtml b/app/views/projects/roadmap.rhtml index e1449dcfa..ab591a830 100644 --- a/app/views/projects/roadmap.rhtml +++ b/app/views/projects/roadmap.rhtml @@ -1,14 +1,13 @@ <h2><%=l(:label_roadmap)%></h2> -<div> - -<div class="rightbox" style="width:140px;"> +<div class="rightbox"> <% form_tag do %> -<p><strong><%=l(:label_tracker_plural)%></strong></p> +<p><strong><%=l(:label_tracker_plural)%></strong><br /> <% @trackers.each do |tracker| %> <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %> <%= tracker.name %><br /> -<% end %> +<% end %></p> +<p class="small"><label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label></p> <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p> <% end %> </div> @@ -16,13 +15,17 @@ <% if @versions.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %> <% @versions.each do |version| %> - <h3 class="icon22 icon22-package"><%= version.name %></h3> + <a name="<%= version.name %>"><h3 class="icon22 icon22-package"><%= version.name %></h3></a> + <% if version.completed? %> + <p><%= format_date(version.effective_date) %></p> + <% else %> + <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 %> <p><%=h version.description %></p> - <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p> <% issues = version.fixed_issues.find(:all, - :include => :status, + :include => [:status, :tracker], :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"], - :order => "position") + :order => "#{Tracker.table_name}.position") total = issues.size complete = issues.inject(0) {|c,i| i.status.is_closed? ? c + 1 : c } @@ -56,4 +59,3 @@ <% end %> </ul> <% end %> -</div> |