Project

General

Profile

« Previous | Next » 

Revision 1207

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)

View differences:

trunk/app/helpers/projects_helper.rb
18 18
module ProjectsHelper
19 19
  def link_to_version(version, options = {})
20 20
    return '' unless version && version.is_a?(Version)
21
    link_to version.name, {:controller => 'projects',
22
                           :action => 'roadmap',
23
                           :id => version.project_id,
24
                           :completed => (version.completed? ? 1 : nil),
25
                           :anchor => version.name
26
                          }, options
21
    link_to h(version.name), { :controller => 'versions', :action => 'show', :id => version }, options
27 22
  end
28 23
  
29 24
  def format_activity_day(date)
trunk/app/models/version.rb
34 34
    effective_date
35 35
  end
36 36
  
37
  # Returns the total estimated time for this version
38
  def estimated_hours
39
    @estimated_hours ||= fixed_issues.sum(:estimated_hours).to_f
40
  end
41
  
42
  # Returns the total reported time for this version
43
  def spent_hours
44
    @spent_hours ||= TimeEntry.sum(:hours, :include => :issue, :conditions => ["#{Issue.table_name}.fixed_version_id = ?", id]).to_f
45
  end
46
  
37 47
  # Returns true if the version is completed: due date reached and no open issues
38 48
  def completed?
39 49
    effective_date && (effective_date <= Date.today) && (open_issues_count == 0)
trunk/app/views/versions/show.rhtml
4 4

  
5 5
<h2><%= h(@version.name) %></h2>
6 6

  
7
<div id="version-summary">
8
<% if @version.estimated_hours > 0 || User.current.allowed_to?(:view_time_entries, @project) %>
9
<fieldset><legend><%= l(:label_time_tracking) %></legend>
10
<table>
11
<tr>
12
    <td width="130px" align="right"><%= l(:field_estimated_hours) %></td>
13
    <td width="240px" class="total-hours"width="130px" align="right"><%= html_hours(lwr(:label_f_hour, @version.estimated_hours)) %></td>
14
</tr>
15
<% if User.current.allowed_to?(:view_time_entries, @project) %>
16
<tr>
17
    <td width="130px" align="right"><%= l(:label_spent_time) %></td>
18
    <td width="240px" class="total-hours"><%= html_hours(lwr(:label_f_hour, @version.spent_hours)) %></td>
19
</tr>
20
<% end %>
21
</table>
22
</fieldset>
23
<% end %>
24

  
7 25
<div id="status_by">
8 26
<%= render_issue_status_by(@version, params[:status_by]) if @version.fixed_issues.count > 0 %>
9 27
</div>
28
</div>
10 29

  
30
<div id="roadmap">
11 31
<%= render :partial => 'versions/overview', :locals => {:version => @version} %>
12 32
<%= render(:partial => "wiki/content", :locals => {:content => @version.wiki_page.content}) if @version.wiki_page %>
13 33

  
34
<% issues = @version.fixed_issues.find(:all,
35
                                       :include => [:status, :tracker],
36
                                       :order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") %>
37
<% if issues.size > 0 %>
38
<fieldset class="related-issues"><legend><%= l(:label_related_issues) %></legend>
39
<ul>
40
<% issues.each do |issue| -%>
41
    <li><%= link = link_to_issue(issue)
42
            issue.status.is_closed? ? content_tag("del", link) : link %>: <%=h issue.subject %></li>
43
<% end -%>
44
</ul>
45
</fieldset>
46
<% end %>
47
</div>
48

  
14 49
<% html_title @version.name %>
trunk/public/stylesheets/application.css
174 174
div#roadmap .wiki h1 { font-size: 120%; }
175 175
div#roadmap .wiki h2 { font-size: 110%; }
176 176

  
177
div#version-summary { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; background-color: #fff; }
178
div#version-summary fieldset { margin-bottom: 1em; }
179
div#version-summary .total-hours { text-align: right; }
180

  
177 181
table#time-report td.hours { text-align: right; padding-right: 0.5em; }
178 182
table#time-report tbody tr { font-style: italic; color: #777; }
179 183
table#time-report tbody tr.last-level { font-style: normal; color: #555; }
180 184
table#time-report tbody tr.total { font-style: normal; font-weight: bold; color: #555; background-color:#EEEEEE; }
181 185
table#time-report .hours-dec { font-size: 0.9em; }
182 186

  
183
div.total-hours { text-align: left; font-size: 110%; font-weight: bold; }
184
div.total-hours span.hours-int { font-size: 120%; }
187
.total-hours { font-size: 110%; font-weight: bold; }
188
.total-hours span.hours-int { font-size: 120%; }
185 189

  
186 190
.autoscroll {overflow-x: auto; padding:1px; width:100%; margin-bottom: 1.2em;}
187 191
#user_firstname, #user_lastname, #user_mail, #my_account_form select { width: 90%; }
......
337 341
p.pourcent {font-size: 80%;}
338 342
p.progress-info {clear: left; font-style: italic; font-size: 80%;}
339 343

  
340
div#status_by { float:right; width:380px; margin-left: 16px; margin-bottom: 16px; }
341

  
342 344
/***** Tabs *****/
343 345
#content .tabs {height: 2.6em; border-bottom: 1px solid #bbbbbb; margin-bottom:1.2em; position:relative;}
344 346
#content .tabs ul {margin:0; position:absolute; bottom:-2px; padding-left:1em;}

Also available in: Unified diff