| 1 | <?cs set:html.stylesheet = 'css/timeline.css' ?> |
|---|
| 2 | <?cs include "header.cs"?> |
|---|
| 3 | |
|---|
| 4 | <div id="ctxtnav" class="nav"></div> |
|---|
| 5 | |
|---|
| 6 | <div id="content" class="timeline"> |
|---|
| 7 | <h1>Timeline</h1> |
|---|
| 8 | |
|---|
| 9 | <form id="prefs" action="<?cs var:trac.href.timeline ?>"> |
|---|
| 10 | <div> |
|---|
| 11 | <label for="from">View changes from</label> |
|---|
| 12 | <input type="text" size="10" id="from" name="from" |
|---|
| 13 | value="<?cs var:timeline.from ?>" /> and <input type="text" size="3" |
|---|
| 14 | id="daysback" name="daysback" value="<?cs var:timeline.daysback ?>" /> |
|---|
| 15 | <label for="daysback">days back</label>. |
|---|
| 16 | </div> |
|---|
| 17 | <fieldset> |
|---|
| 18 | <?cs if:trac.acl.TICKET_VIEW ?><div class="field"> |
|---|
| 19 | <input type="checkbox" id="ticket" name="ticket" <?cs |
|---|
| 20 | if:timeline.ticket ?>checked="checked"<?cs /if ?> /> |
|---|
| 21 | <label for="ticket">Ticket changes</label> |
|---|
| 22 | </div><?cs /if ?> |
|---|
| 23 | <?cs if:trac.acl.CHANGESET_VIEW ?><div class="field"> |
|---|
| 24 | <input type="checkbox" id="changeset" name="changeset" <?cs |
|---|
| 25 | if:timeline.changeset ?>checked="checked"<?cs /if ?> /> |
|---|
| 26 | <label for="changeset">Repository checkins</label> |
|---|
| 27 | </div><?cs /if ?> |
|---|
| 28 | <?cs if:trac.acl.WIKI_VIEW ?><div class="field"> |
|---|
| 29 | <input type="checkbox" id="wiki" name="wiki" <?cs |
|---|
| 30 | if:timeline.wiki ?>checked="checked"<?cs /if ?> /> |
|---|
| 31 | <label for="wiki">Wiki changes</label> |
|---|
| 32 | </div><?cs /if ?> |
|---|
| 33 | <?cs if:trac.acl.MILESTONE_VIEW ?><div class="field"> |
|---|
| 34 | <input type="checkbox" id="milestone" name="milestone" <?cs |
|---|
| 35 | if:timeline.milestone ?>checked="checked"<?cs /if ?> /> |
|---|
| 36 | <label for="milestone">Milestones</label> |
|---|
| 37 | </div><?cs /if ?> |
|---|
| 38 | </fieldset> |
|---|
| 39 | <div class="buttons"> |
|---|
| 40 | <input type="submit" value="Update" /> |
|---|
| 41 | </div> |
|---|
| 42 | </form> |
|---|
| 43 | |
|---|
| 44 | <?cs def:day_separator(date) ?> |
|---|
| 45 | <?cs if: $date != $current_date ?> |
|---|
| 46 | <?cs if: $current_date ?></dl><?cs /if ?> |
|---|
| 47 | <?cs set: $current_date = $date ?> |
|---|
| 48 | <h2><?cs var:date ?>:</h2> |
|---|
| 49 | <dl> |
|---|
| 50 | <?cs /if ?> |
|---|
| 51 | <?cs /def ?> |
|---|
| 52 | |
|---|
| 53 | <?cs def:tlitem(url, type, msg, descr) ?> |
|---|
| 54 | <dt class="<?cs var:type ?>"> |
|---|
| 55 | <a href="<?cs var:url ?>"><span class="time"><?cs |
|---|
| 56 | var:item.time ?></span> <?cs var:msg ?></a> |
|---|
| 57 | </dt> |
|---|
| 58 | <?cs if:descr ?><dd><?cs var:descr ?></dd><?cs /if ?> |
|---|
| 59 | <?cs /def ?> |
|---|
| 60 | |
|---|
| 61 | <?cs each:item = timeline.items ?> |
|---|
| 62 | <?cs call:day_separator(item.date) ?> |
|---|
| 63 | <?cs if:item.type == #1 ?><!-- Changeset --> |
|---|
| 64 | <?cs call:tlitem(item.href, 'changeset', |
|---|
| 65 | 'Changeset <em>['+$item.idata+']</em> by '+$item.author,$item.node_list+item.message) ?> |
|---|
| 66 | <?cs elif:item.type == #2 ?><!-- New ticket --> |
|---|
| 67 | <?cs call:tlitem(item.href, 'newticket', |
|---|
| 68 | 'Ticket <em>#'+$item.idata+'</em> created by '+$item.author, item.message) ?> |
|---|
| 69 | <?cs elif:item.type == #3 ?><!-- Closed ticket --> |
|---|
| 70 | <?cs if:item.message ?> |
|---|
| 71 | <?cs set:imessage = ' - ' + $item.message ?> |
|---|
| 72 | <?cs else ?> |
|---|
| 73 | <?cs set:imessage = '' ?> |
|---|
| 74 | <?cs /if ?> |
|---|
| 75 | <?cs call:tlitem(item.href, 'closedticket', |
|---|
| 76 | 'Ticket <em>#'+$item.idata+'</em> resolved by '+$item.author, |
|---|
| 77 | $item.tdata+$imessage) ?> |
|---|
| 78 | <?cs elif:item.type == #4 ?><!-- Reopened ticket --> |
|---|
| 79 | <?cs call:tlitem(item.href, 'newticket', |
|---|
| 80 | 'Ticket <em>#'+$item.idata+'</em> reopened by '+$item.author, '') ?> |
|---|
| 81 | <?cs elif:item.type == #5 ?><!-- Wiki change --> |
|---|
| 82 | <?cs call:tlitem(item.href, 'wiki', |
|---|
| 83 | '<em>'+$item.tdata+'</em> edited by '+$item.author, item.message) ?> |
|---|
| 84 | <?cs elif:item.type == #6 ?><!-- milestone --> |
|---|
| 85 | <?cs call:tlitem(item.href, 'milestone', |
|---|
| 86 | '<em>Milestone '+$item.message+'</em> reached', '') ?> |
|---|
| 87 | <?cs /if ?> |
|---|
| 88 | <?cs /each ?> |
|---|
| 89 | <?cs if:len(timeline.items) ?></dl><?cs /if ?> |
|---|
| 90 | |
|---|
| 91 | <div id="help"> |
|---|
| 92 | <hr /> |
|---|
| 93 | <strong>Note:</strong> See <a href="<?cs var:$trac.href.wiki ?>/TracTimeline">TracTimeline</a> |
|---|
| 94 | for information about the timeline view. |
|---|
| 95 | </div> |
|---|
| 96 | |
|---|
| 97 | </div> |
|---|
| 98 | <?cs include "footer.cs"?> |
|---|