##// END OF EJS Templates
Fixed: Roadmap percentages not being calculated correctly (Nick Read)....
Jean-Philippe Lang -
r605:7681487af41e
parent child
Show More
@@ -1,64 +1,64
1 <h2><%=l(:label_roadmap)%></h2>
1 <h2><%=l(:label_roadmap)%></h2>
2
2
3 <div class="rightbox">
3 <div class="rightbox">
4 <% form_tag do %>
4 <% form_tag do %>
5 <p><strong><%=l(:label_tracker_plural)%></strong><br />
5 <p><strong><%=l(:label_tracker_plural)%></strong><br />
6 <% @trackers.each do |tracker| %>
6 <% @trackers.each do |tracker| %>
7 <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
7 <%= check_box_tag "tracker_ids[]", tracker.id, (@selected_tracker_ids.include? tracker.id.to_s) %>
8 <%= tracker.name %><br />
8 <%= tracker.name %><br />
9 <% end %></p>
9 <% end %></p>
10 <p class="small"><label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label></p>
10 <p class="small"><label for="completed"><%= check_box_tag "completed", 1, params[:completed] %> <%= l(:label_show_completed_versions) %></label></p>
11 <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
11 <p><center><%= submit_tag l(:button_apply), :class => 'button-small' %></center></p>
12 <% end %>
12 <% end %>
13 </div>
13 </div>
14
14
15 <% if @versions.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %>
15 <% if @versions.empty? %><p><i><%= l(:label_no_data) %></i></p><% end %>
16
16
17 <% @versions.each do |version| %>
17 <% @versions.each do |version| %>
18 <a name="<%= version.name %>"><h3 class="icon22 icon22-package"><%= version.name %></h3></a>
18 <a name="<%= version.name %>"><h3 class="icon22 icon22-package"><%= version.name %></h3></a>
19 <% if version.completed? %>
19 <% if version.completed? %>
20 <p><%= format_date(version.effective_date) %></p>
20 <p><%= format_date(version.effective_date) %></p>
21 <% elsif version.overdue? %>
21 <% elsif version.overdue? %>
22 <p><strong><%= l(:label_roadmap_overdue, distance_of_time_in_words(Time.now, version.effective_date)) %> (<%= format_date(version.effective_date) %>)</strong></p>
22 <p><strong><%= l(:label_roadmap_overdue, distance_of_time_in_words(Time.now, version.effective_date)) %> (<%= format_date(version.effective_date) %>)</strong></p>
23 <% elsif version.effective_date %>
23 <% elsif version.effective_date %>
24 <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
24 <p><strong><%=l(:label_roadmap_due_in)%> <%= distance_of_time_in_words Time.now, version.effective_date %> (<%= format_date(version.effective_date) %>)</strong></p>
25 <% end %>
25 <% end %>
26 <p><%=h version.description %></p>
26 <p><%=h version.description %></p>
27 <% issues = version.fixed_issues.find(:all,
27 <% issues = version.fixed_issues.find(:all,
28 :include => [:status, :tracker],
28 :include => [:status, :tracker],
29 :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
29 :conditions => ["tracker_id in (#{@selected_tracker_ids.join(',')})"],
30 :order => "#{Tracker.table_name}.position")
30 :order => "#{Tracker.table_name}.position")
31
31
32 total = issues.size
32 total = issues.size
33 complete = issues.inject(0) {|c,i| i.status.is_closed? ? c + 1 : c }
33 complete = issues.inject(0) {|c,i| i.status.is_closed? ? c + 1 : c }
34 percentComplete = total == 0 ? 100 : (100 / total * complete).floor
34 percentComplete = total == 0 ? 100 : (100.0 / total * complete).floor
35 percentIncomplete = 100 - percentComplete
35 percentIncomplete = 100 - percentComplete
36 %>
36 %>
37 <table class="progress">
37 <table class="progress">
38 <tr>
38 <tr>
39 <% if percentComplete > 0 %>
39 <% if percentComplete > 0 %>
40 <td class="closed" style="width: <%= percentComplete %>%"></td>
40 <td class="closed" style="width: <%= percentComplete %>%"></td>
41 <% end; if percentIncomplete > 0 %>
41 <% end; if percentIncomplete > 0 %>
42 <td class="open" style="width: <%= percentIncomplete %>%"></td>
42 <td class="open" style="width: <%= percentIncomplete %>%"></td>
43 <% end %>
43 <% end %>
44 </tr>
44 </tr>
45 </table>
45 </table>
46 <em><%= link_to(complete, :controller => 'projects', :action => 'list_issues', :id => @project, :status_id => 'c', :fixed_version_id => version, :set_filter => 1) %> <%= lwr(:label_closed_issues, complete) %> (<%= percentComplete %>%) &#160;
46 <em><%= link_to(complete, :controller => 'projects', :action => 'list_issues', :id => @project, :status_id => 'c', :fixed_version_id => version, :set_filter => 1) %> <%= lwr(:label_closed_issues, complete) %> (<%= percentComplete %>%) &#160;
47 <%= link_to((total - complete), :controller => 'projects', :action => 'list_issues', :id => @project, :status_id => 'o', :fixed_version_id => version, :set_filter => 1) %> <%= lwr(:label_open_issues, total - complete)%> (<%= percentIncomplete %>%)</em>
47 <%= link_to((total - complete), :controller => 'projects', :action => 'list_issues', :id => @project, :status_id => 'o', :fixed_version_id => version, :set_filter => 1) %> <%= lwr(:label_open_issues, total - complete)%> (<%= percentIncomplete %>%)</em>
48 <br />
48 <br />
49 <br />
49 <br />
50 <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
50 <%= render(:partial => "wiki/content", :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
51 <ul>
51 <ul>
52 <% if total == 0 %>
52 <% if total == 0 %>
53 <li><%=l(:label_roadmap_no_issues)%></li>
53 <li><%=l(:label_roadmap_no_issues)%></li>
54 <% else %>
54 <% else %>
55 <% issues.each do |issue| %>
55 <% issues.each do |issue| %>
56 <li>
56 <li>
57 <%= link = link_to_issue(issue)
57 <%= link = link_to_issue(issue)
58 issue.status.is_closed? ? content_tag("del", link) : link %>: <%=h issue.subject %>
58 issue.status.is_closed? ? content_tag("del", link) : link %>: <%=h issue.subject %>
59 <%= content_tag "em", "(#{l(:label_closed_issues)})" if issue.status.is_closed? %>
59 <%= content_tag "em", "(#{l(:label_closed_issues)})" if issue.status.is_closed? %>
60 </li>
60 </li>
61 <% end %>
61 <% end %>
62 <% end %>
62 <% end %>
63 </ul>
63 </ul>
64 <% end %>
64 <% end %>
General Comments 0
You need to be logged in to leave comments. Login now