From 9b59ea7256580c2f0d8322b1f3f526d5f0628963 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 8 Mar 2008 11:17:03 +0000 Subject: [PATCH] Version details view changes: * display related issues on the version detail view * display total estimated and spent hours on the version detail view * fixed wiki headings size (same as r1168) git-svn-id: http://redmine.rubyforge.org/svn/trunk@1207 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/projects_helper.rb | 7 +----- app/models/version.rb | 10 +++++++++ app/views/versions/show.rhtml | 35 ++++++++++++++++++++++++++++++ public/stylesheets/application.css | 10 +++++---- 4 files changed, 52 insertions(+), 10 deletions(-) diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index a16377412..ffbf25e83 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -18,12 +18,7 @@ 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 + link_to h(version.name), { :controller => 'versions', :action => 'show', :id => version }, options end def format_activity_day(date) diff --git a/app/models/version.rb b/app/models/version.rb index 266346c7b..f9395c5d9 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -34,6 +34,16 @@ class Version < ActiveRecord::Base effective_date end + # Returns the total estimated time for this version + def estimated_hours + @estimated_hours ||= fixed_issues.sum(:estimated_hours).to_f + end + + # Returns the total reported time for this version + def spent_hours + @spent_hours ||= TimeEntry.sum(:hours, :include => :issue, :conditions => ["#{Issue.table_name}.fixed_version_id = ?", id]).to_f + end + # Returns true if the version is completed: due date reached and no open issues def completed? effective_date && (effective_date <= Date.today) && (open_issues_count == 0) diff --git a/app/views/versions/show.rhtml b/app/views/versions/show.rhtml index 1c2a0be44..873354e0d 100644 --- a/app/views/versions/show.rhtml +++ b/app/views/versions/show.rhtml @@ -4,11 +4,46 @@

<%= h(@version.name) %>

+
+<% if @version.estimated_hours > 0 || User.current.allowed_to?(:view_time_entries, @project) %> +
<%= l(:label_time_tracking) %> + + + + + +<% if User.current.allowed_to?(:view_time_entries, @project) %> + + + + +<% end %> +
<%= l(:field_estimated_hours) %><%= html_hours(lwr(:label_f_hour, @version.estimated_hours)) %>
<%= l(:label_spent_time) %><%= html_hours(lwr(:label_f_hour, @version.spent_hours)) %>
+
+<% end %> +
<%= render_issue_status_by(@version, params[:status_by]) if @version.fixed_issues.count > 0 %>
+
+
<%= render :partial => 'versions/overview', :locals => {:version => @version} %> <%= render(:partial => "wiki/content", :locals => {:content => @version.wiki_page.content}) if @version.wiki_page %> +<% issues = @version.fixed_issues.find(:all, + :include => [:status, :tracker], + :order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") %> +<% if issues.size > 0 %> + +<% end %> +
+ <% html_title @version.name %> diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index cd875c7f7..d855348dc 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -174,14 +174,18 @@ div#roadmap .wiki h1:first-child { display: none; } div#roadmap .wiki h1 { font-size: 120%; } div#roadmap .wiki h2 { font-size: 110%; } +div#version-summary { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; background-color: #fff; } +div#version-summary fieldset { margin-bottom: 1em; } +div#version-summary .total-hours { text-align: right; } + table#time-report td.hours { text-align: right; padding-right: 0.5em; } table#time-report tbody tr { font-style: italic; color: #777; } table#time-report tbody tr.last-level { font-style: normal; color: #555; } table#time-report tbody tr.total { font-style: normal; font-weight: bold; color: #555; background-color:#EEEEEE; } table#time-report .hours-dec { font-size: 0.9em; } -div.total-hours { text-align: left; font-size: 110%; font-weight: bold; } -div.total-hours span.hours-int { font-size: 120%; } +.total-hours { font-size: 110%; font-weight: bold; } +.total-hours span.hours-int { font-size: 120%; } .autoscroll {overflow-x: auto; padding:1px; width:100%; margin-bottom: 1.2em;} #user_firstname, #user_lastname, #user_mail, #my_account_form select { width: 90%; } @@ -337,8 +341,6 @@ table.progress td.open { background: #FFF none repeat scroll 0%; } p.pourcent {font-size: 80%;} p.progress-info {clear: left; font-style: italic; font-size: 80%;} -div#status_by { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; } - /***** Tabs *****/ #content .tabs {height: 2.6em; border-bottom: 1px solid #bbbbbb; margin-bottom:1.2em; position:relative;} #content .tabs ul {margin:0; position:absolute; bottom:-2px; padding-left:1em;}