<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns=“www.w3.org/1999/xhtml” xml:lang=“en” lang=“en”> <head> <title><%= project.name %> Issue Tracker</title> <meta http-equiv=“Content-Type” content=“text/html; charset=utf-8” /> <link rel=“stylesheet” href=“style.css” type=“text/css” /> </head> <body>

<div class=“main”> <h1><%= project.name %> Issue Tracker</h1>

<h2>Upcoming Releases</h2> <% if upcoming_releases.empty? %>

<p>No upcoming releases.</p>

<% else %>

<table>
  <tbody>
  <% upcoming_releases.each do |r| %>
    <%
      issues = project.issues_for_release r
      num_done = issues.count_of { |i| i.closed? }
      pct_done = issues.size == 0 ? 1.0 : (num_done.to_f / issues.size.to_f)
      open_issues = issues.select { |i| i.open? }
    %>
    <tr><td>
      <%= link_to r, "#{r.name}" %>
      </td>
      <td>
      <% if issues.empty? %>
        no issues
      <% elsif open_issues.empty? %>
          ready for release!
      <% else %>
        <%= progress_meter pct_done %>
        <%= sprintf "%.0f%%", pct_done * 100.0 %> complete
        </td>
        </tr><tr><td></td><td>
        <%= num_done %> / <%= issues.size %> issues.
        <%= link_to r, "See issues &raquo;" %>
      <% end %>
      </td>
    </tr>
  <% end %>
  </tbody>
</table>

<% end %>

<h2>Past Releases</h2> <% if past_releases.empty? %>

<p>No past releases.</p>

<% else %>

<table>
  <tbody>
  <% past_releases.sort_by { |r| r.release_time }.reverse.each do |r| %>
    <tr><td><%= link_to r, r.name %></td><td class="littledate">on <%= r.release_time.pretty_date %></td></tr>
  <% end %>
  </tbody>
</table>

<% end %>

<h2>Unassigned issues</h2> <%

issues = project.unassigned_issues
open_issues = issues.select { |i| i.open? }

%> <p>

<% if issues.empty? %>
  No unassigned issues.
<% else %>
  <%= link_to "unassigned", "unassigned issue".pluralize(issues.size).capitalize %> (<%= open_issues.size.to_pretty_s %> open).
<% end %>

</p>

<% if components.size > 1 %>

<h2>Open Issues by component</h2>
<table>
  <tbody>
  <% components.each do |c| %>
    <%
      issues = project.issues_for_component c
      num_done = issues.count_of { |i| i.closed? }
      pct_done = issues.size == 0 ? 1.0 : (num_done.to_f / issues.size.to_f)
      open_issues = issues.select { |i| i.open? }
    %>
    <% if open_issues.empty? %>
      <tr class="dimmed">
    <% else %>
      <tr>
    <% end %>
    <td>
      <%= link_to c, c.name %>
    </td><td>
      <%= "open issue".pluralize(open_issues.size) %>
    </td></tr>
  <% end %>
  </tbody>
</table>

<% end %>

<h2>Recent activity</h2>

<table class=“log”>

<tbody>
<% project.issues.map { |i| i.log_events.map { |e| [e, i] } }.
      flatten_one_level.
      sort_by { |e| e.first.first }.
      reverse[0 ... 10].
      each_with_index do |((date, who, what, comment), i), idx| %>
  <tr class="<%= idx % 2 == 0 ? "even-row" : "odd-row" %>">
    <td class="date"><%= date.pretty_date %></td>
    <td class="issuename">
      <%= issue_link_for i, :status_image => true %>
    </td>
    <td> <%= what %> </td>
  </tr>
  <tr><td></td></tr>
<% end %>
</tbody>

</table>

</div>

<div class=“footer”>Generated by <a href=“ditz.ditz.rubyforge.org/”>ditz.>

</body> </html>