39
|
1 <?cs include "header.cs"?>
|
|
2 <?cs include "macros.cs"?>
|
|
3
|
|
4 <div id="ctxtnav" class="nav"></div>
|
|
5
|
|
6 <div id="content" class="roadmap">
|
|
7 <h1>Roadmap</h1>
|
|
8
|
|
9 <form id="prefs" method="get" action="">
|
|
10 <div>
|
|
11 <input type="checkbox" id="showall" name="show" value="all"<?cs
|
|
12 if:roadmap.showall ?> checked="checked"<?cs /if ?> />
|
|
13 <label for="showall">Show already completed milestones</label>
|
|
14 </div>
|
|
15 <div class="buttons">
|
|
16 <input type="submit" value="Update" />
|
|
17 </div>
|
|
18 </form>
|
|
19
|
|
20 <ul class="milestones"><?cs each:milestone = roadmap.milestones ?>
|
|
21 <li class="milestone">
|
|
22 <div class="info">
|
|
23 <h2><a href="<?cs var:milestone.href ?>">Milestone: <em><?cs
|
|
24 var:milestone.name ?></em></a></h2>
|
|
25 <p class="date"<?cs
|
|
26 if:milestone.completed_date ?> title="<?cs var:milestone.completed_date ?>">
|
|
27 Completed <?cs var:milestone.completed_delta ?> ago<?cs
|
|
28 elif:milestone.due_date ?> title="<?cs var:milestone.due_date ?>"><?cs
|
|
29 if:milestone.late ?>
|
|
30 <strong><?cs var:milestone.due_delta ?> late</strong><?cs
|
|
31 else ?>
|
|
32 Due in <?cs var:milestone.due_delta ?><?cs
|
|
33 /if ?> (<?cs var:milestone.due_date ?>)<?cs
|
|
34 else ?>>
|
|
35 No date set<?cs
|
|
36 /if ?>
|
|
37 </p><?cs
|
|
38 with:stats = milestone.stats ?><?cs
|
|
39 if:#stats.total_tickets > #0 ?>
|
|
40 <table class="progress">
|
|
41 <tr>
|
|
42 <td class="closed" style="width: <?cs
|
|
43 var:#stats.percent_closed ?>%"><a href="<?cs
|
|
44 var:milestone.queries.closed_tickets ?>" title="<?cs
|
|
45 var:#stats.closed_tickets ?> of <?cs
|
|
46 var:#stats.total_tickets ?> ticket<?cs
|
|
47 if:#stats.total_tickets != #1 ?>s<?cs /if ?> closed"></a></td>
|
|
48 <td class="open" style="width: <?cs
|
|
49 var:#stats.percent_active ?>%"><a href="<?cs
|
|
50 var:milestone.queries.active_tickets ?>" title="<?cs
|
|
51 var:#stats.active_tickets ?> of <?cs
|
|
52 var:#stats.total_tickets ?> ticket<?cs
|
|
53 if:#stats.total_tickets != #1 ?>s<?cs /if ?> active"></a></td>
|
|
54 </tr>
|
|
55 </table>
|
|
56 <p class="percent"><?cs var:#stats.percent_closed ?>%</p>
|
|
57 <dl>
|
|
58 <dt>Closed tickets:</dt>
|
|
59 <dd><a href="<?cs var:milestone.queries.closed_tickets ?>"><?cs
|
|
60 var:stats.closed_tickets ?></a></dd>
|
|
61 <dt>Active tickets:</dt>
|
|
62 <dd><a href="<?cs var:milestone.queries.active_tickets ?>"><?cs
|
|
63 var:stats.active_tickets ?></a></dd>
|
|
64 </dl><?cs
|
|
65 /if ?><?cs
|
|
66 /with ?>
|
|
67 </div>
|
|
68 <div class="description"><?cs var:milestone.description ?></div>
|
|
69 </li><?cs
|
|
70 /each ?></ul><?cs
|
|
71 if:trac.acl.MILESTONE_CREATE ?>
|
|
72 <div class="buttons">
|
|
73 <form method="get" action="<?cs var:trac.href.milestone ?>"><div>
|
|
74 <input type="hidden" name="action" value="new" />
|
|
75 <input type="submit" value="Add new milestone" />
|
|
76 </div></form>
|
|
77 </div><?cs
|
|
78 /if ?>
|
|
79
|
|
80 <div id="help">
|
|
81 <strong>Note:</strong> See <a href="<?cs
|
|
82 var:trac.href.wiki ?>/TracRoadmap">TracRoadmap</a> for help on using the roadmap.
|
|
83 </div>
|
|
84
|
|
85 </div>
|
|
86 <?cs include:"footer.cs"?>
|