Changeset 552
- Timestamp:
- 08/25/05 23:30:46 (3 years ago)
- Files:
-
- djangoproject.com/django_website/templates/trac_templates/footer.cs (modified) (1 diff)
- djangoproject.com/django_website/templates/trac_templates/header.cs (modified) (1 diff)
- djangoproject.com/django_website/templates/trac_templates/log_changelog.cs (added)
- djangoproject.com/django_website/templates/trac_templates/log.cs (modified) (3 diffs)
- djangoproject.com/django_website/templates/trac_templates/log_rss.cs (modified) (1 diff)
- djangoproject.com/django_website/templates/trac_templates/macros.cs (modified) (2 diffs)
- djangoproject.com/django_website/templates/trac_templates/milestone.cs (modified) (4 diffs)
- djangoproject.com/django_website/templates/trac_templates/newticket.cs (modified) (4 diffs)
- djangoproject.com/django_website/templates/trac_templates/query.cs (modified) (1 diff)
- djangoproject.com/django_website/templates/trac_templates/query_rss.cs (added)
- djangoproject.com/django_website/templates/trac_templates/report.cs (modified) (10 diffs)
- djangoproject.com/django_website/templates/trac_templates/report_rss.cs (modified) (3 diffs)
- djangoproject.com/django_website/templates/trac_templates/roadmap.cs (modified) (2 diffs)
- djangoproject.com/django_website/templates/trac_templates/search.cs (modified) (2 diffs)
- djangoproject.com/django_website/templates/trac_templates/settings.cs (modified) (4 diffs)
- djangoproject.com/django_website/templates/trac_templates/ticket.cs (modified) (4 diffs)
- djangoproject.com/django_website/templates/trac_templates/timeline.cs (modified) (2 diffs)
- djangoproject.com/django_website/templates/trac_templates/timeline_rss.cs (modified) (1 diff)
- djangoproject.com/django_website/templates/trac_templates/wiki.cs (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
djangoproject.com/django_website/templates/trac_templates/footer.cs
r189 r552 1 <script type="text/javascript">searchHighlight()</script> 2 3 <?cs if:len(links.alternate) ?> 4 <div id="altlinks"> 5 <h3>Download in other formats:</h3> 6 <ul><?cs each:link = links.alternate ?><?cs 1 <script type="text/javascript">searchHighlight()</script><?cs 2 if:len(chrome.links.alternate) ?> 3 <div id="altlinks"><h3>Download in other formats:</h3><ul><?cs 4 each:link = chrome.links.alternate ?><?cs 7 5 set:isfirst = name(link) == 0 ?><?cs 8 set:islast = name(link) == len(links.alternate) - 1?> 9 <li<?cs 6 set:islast = name(link) == len(chrome.links.alternate) - 1?><li<?cs 10 7 if:isfirst || islast ?> class="<?cs 11 8 if:isfirst ?>first<?cs /if ?><?cs 12 9 if:isfirst && islast ?> <?cs /if ?><?cs 13 10 if:islast ?>last<?cs /if ?>"<?cs 14 /if ?>> 15 <a href="<?cs var:link.href ?>"<?cs if:link.class ?> class="<?cs 16 var:link.class ?>"<?cs /if ?>><?cs var:link.title ?></a> 17 </li><?cs /each ?> 18 </ul> 19 </div> 20 <?cs /if ?> 21 11 /if ?>><a href="<?cs var:link.href ?>"<?cs if:link.class ?> class="<?cs 12 var:link.class ?>"<?cs /if ?>><?cs var:link.title ?></a></li><?cs 13 /each ?></ul></div><?cs 14 /if ?> 22 15 23 16 </div> 24 17 25 18 <div id="footer"> 26 <div id="metanav" class="nav"> 27 <h2>Navigation</h2> 28 <ul> 29 <li class="first"><?cs if:trac.authname == "anonymous" || !trac.authname ?> 30 <a href="<?cs var:trac.href.login ?>">Login</a> 31 <?cs else ?> 32 logged in as <?cs var:trac.authname ?> </li> 33 <li><a href="<?cs var:trac.href.logout ?>">Logout</a> 34 <?cs /if ?></li> 35 <li><a href="<?cs var:trac.href.settings ?>">Settings</a></li> 36 <li style="display: none"><a accesskey="6" href="<?cs var:trac.href.wiki ?>/TracGuide">Help/Guide</a></li> 37 <li style="display: none"><a accesskey="5" href="http://projects.edgewall.com/trac/wiki/TracFaq">FAQ</a></li> 38 <li style="display: none"><a accesskey="0" href="<?cs var:trac.href.wiki ?>/TracAccessibility">Accessibility</a></li> 39 <li class="last"><a accesskey="9" href="<?cs var:trac.href.about ?>">About Trac</a></li> 40 </ul> 41 </div> 19 <div id="metanav" class="nav"><?cs call:nav(chrome.nav.metanav) ?></div> 20 </div> 42 21 </div> 43 44 22 45 23 <?cs include "site_footer.cs" ?> djangoproject.com/django_website/templates/trac_templates/header.cs
r373 r552 78 78 </form> 79 79 80 <?cs if $trac.active_module == "wiki" ?><?cs 81 set:$wiki_view="wiki" ?><?cs 82 else ?><?cs 83 set:$wiki_view="attachment" ?><?cs 84 /if ?><?cs 85 if $trac.active_module == "ticket" ?><?cs 86 set:$ticket_view="ticket" ?><?cs 87 elif $trac.active_module == "query" ?><?cs 88 set:$ticket_view="query" ?><?cs 89 else ?><?cs 90 set:$ticket_view="report" ?><?cs 91 /if ?><?cs 92 if $trac.active_module == "log" ?><?cs 93 set:$browser_view="log" ?><?cs 94 elif $trac.active_module == "file" ?><?cs 95 set:$browser_view="file" ?><?cs 96 else ?><?cs 97 set:$browser_view="browser" ?><?cs 98 /if ?><?cs 99 if $trac.active_module == "milestone" ?><?cs 100 set:$roadmap_view="milestone" ?><?cs 101 else ?><?cs 102 set:$roadmap_view="roadmap" ?><?cs 103 /if ?> 104 <div id="mainnav" class="nav"> 105 <ul><?cs 106 call:navlink("Start", trac.href.wiki, wiki_view, 107 trac.acl.WIKI_VIEW, "1") ?><?cs 108 call:navlink("Timeline", trac.href.timeline, "timeline", 109 trac.acl.TIMELINE_VIEW, "2") ?><?cs 110 call:navlink("Roadmap", trac.href.roadmap, roadmap_view, 111 trac.acl.ROADMAP_VIEW, "3") ?><?cs 112 call:navlink("Browse source", trac.href.browser, browser_view, 113 trac.acl.BROWSER_VIEW, "") ?><?cs 114 call:navlink("View tickets", trac.href.report, ticket_view, 115 trac.acl.REPORT_VIEW, "") ?><?cs 116 call:navlink("New ticket", trac.href.newticket, "newticket", 117 trac.acl.TICKET_CREATE, "7") ?><?cs 118 call:navlink("Search", trac.href.search, "search", 119 trac.acl.SEARCH_VIEW, "4") ?></ul> 120 </div> 80 <?cs def:nav(items) ?><?cs 81 if:len(items) ?><ul><?cs 82 set:idx = 0 ?><?cs 83 set:max = len(items) - 1 ?><?cs 84 each:item = items ?><?cs 85 set:first = idx == 0 ?><?cs 86 set:last = idx == max ?><li<?cs 87 if:first || last || item.active ?> class="<?cs 88 if:item.active ?>active<?cs /if ?><?cs 89 if:item.active && (first || last) ?> <?cs /if ?><?cs 90 if:first ?>first<?cs /if ?><?cs 91 if:(item.active || first) && last ?> <?cs /if ?><?cs 92 if:last ?>last<?cs /if ?>"<?cs 93 /if ?>><?cs var:item ?></li><?cs 94 set:idx = idx + 1 ?><?cs 95 /each ?></ul><?cs 96 /if ?><?cs 97 /def ?> 98 99 <div id="mainnav" class="nav"><?cs call:nav(chrome.nav.mainnav) ?></div> 100 <div id="main"> djangoproject.com/django_website/templates/trac_templates/log.cs
r189 r552 1 <?cs set:html.stylesheet = 'css/browser.css' ?>2 1 <?cs include "header.cs"?> 3 2 <?cs include "macros.cs"?> … … 6 5 <ul> 7 6 <li class="last"><a href="<?cs 8 var:log.items.0.file_href ?>">View Latest Revision</a></li> 7 var:log.browser_href ?>">View Latest Revision</a></li><?cs 8 if:len(chrome.links.prev) ?> 9 <li class="first<?cs if:!len(chrome.links.next) ?> last<?cs /if ?>"> 10 ← <a href="<?cs var:chrome.links.prev.0.href ?>" title="<?cs 11 var:chrome.links.prev.0.title ?>">Newer Revisions</a> 12 </li><?cs 13 /if ?><?cs 14 if:len(chrome.links.next) ?> 15 <li class="<?cs if:!len(chrome.links.prev) ?>first <?cs /if ?>last"> 16 <a href="<?cs var:chrome.links.next.0.href ?>" title="<?cs 17 var:chrome.links.next.0.title ?>">Older Revisions</a> → 18 </li><?cs 19 /if ?> 9 20 </ul> 10 21 </div> 11 22 23 12 24 <div id="content" class="log"> 13 <?cs call:browser_path_links(log.path, log) ?> 14 15 <div id="jumprev"> 16 <form action="<?cs var:browser_current_href ?>" method="get"> 17 <div> 18 <label for="rev">View revision:</label> 19 <input type="text" id="rev" name="rev" value="<?cs 20 var:log.items.0.rev ?>" size="4" /> 25 <h1><?cs call:browser_path_links(log.path, log) ?></h1> 26 <form id="prefs" action="<?cs var:browser_current_href ?>" method="get"> 27 <div> 28 <input type="hidden" name="action" value="<?cs var:log.mode ?>" /> 29 <label>View log starting at <input type="text" id="rev" name="rev" value="<?cs 30 var:log.items.0.rev ?>" size="5" /></label> 31 <label>and back to <input type="text" id="stop_rev" name="stop_rev" value="<?cs 32 var:log.stop_rev ?>" size="5" /></label> 33 <br /> 34 <div class="choice" ?> 35 <fieldset> 36 <legend>Mode:</legend> 37 <label for="stop_on_copy"> 38 <input type="radio" id="stop_on_copy" name="mode" value="stop_on_copy" <?cs 39 if:log.mode != "follow_copy" || log.mode != "path_history" ?> checked="checked" <?cs 40 /if ?> /> 41 Stop on copy 42 </label> 43 <label for="follow_copy"> 44 <input type="radio" id="follow_copy" name="mode" value="follow_copy" <?cs 45 if:log.mode == "follow_copy" ?> checked="checked" <?cs /if ?> /> 46 Follow copies 47 </label> 48 <label for="path_history"> 49 <input type="radio" id="path_history" name="mode" value="path_history" <?cs 50 if:log.mode == "path_history" ?> checked="checked" <?cs /if ?> /> 51 Show only adds, moves and deletes 52 </label> 53 </fieldset> 21 54 </div> 22 </form> 55 <label><input type="checkbox" name="verbose" <?cs 56 if:log.verbose ?> checked="checked" <?cs 57 /if ?> /> Show full log messages</label> 58 </div> 59 <div class="buttons"> 60 <input type="submit" value="Update" 61 title="Warning: by updating, you will clear the page history" /> 62 </div> 63 </form> 64 <div class="diff"> 65 <div id="legend"> 66 <h3>Legend:</h3> 67 <dl> 68 <dt class="add"></dt><dd>Added</dd><?cs 69 if:log.mode == "path_history" ?> 70 <dt class="rem"></dt><dd>Removed</dd><?cs 71 /if ?> 72 <dt class="mod"></dt><dd>Modified</dd> 73 <dt class="cp"></dt><dd>Copied or renamed</dd> 74 </dl> 75 </div> 23 76 </div> 24 25 77 <table id="chglist" class="listing"> 26 78 <thead> 27 79 <tr> 80 <th class="change"></th> 28 81 <th class="data">Date</th> 29 82 <th class="rev">Rev</th> … … 33 86 </tr> 34 87 </thead> 35 <tbody> 36 <?cs each:item = log.items ?> 88 <tbody><?cs 89 set:indent = #1 ?><?cs 90 each:item = log.items ?><?cs 91 if:item.copyfrom_path ?> 92 <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 93 <td class="copyfrom_path" colspan="6" style="padding-left: <?cs var:indent ?>em"> 94 copied from <a href="<?cs var:item.browser_href ?>"?><?cs var:item.copyfrom_path ?></a>: 95 </td> 96 </tr><?cs 97 set:indent = indent + #1 ?><?cs 98 elif:log.mode == "path_history" ?><?cs 99 set:indent = #1 ?><?cs 100 /if ?> 37 101 <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 38 <td class="date"><?cs var:item.date ?></td> 102 <td class="change" style="padding-left:<?cs var:indent ?>em"> 103 <a title="View log starting at this revision" href="<?cs var:item.log_href ?>"> 104 <div class="<?cs var:item.change ?>"></div> 105 <span class="comment">(<?cs var:item.change ?>)</span> 106 </a> 107 </td> 108 <td class="date"><?cs var:log.changes[item.rev].date ?></td> 39 109 <td class="rev"> 40 <a href="<?cs var:item. file_href ?>"><?cs var:item.rev ?></a>110 <a href="<?cs var:item.browser_href ?>"><?cs var:item.rev ?></a> 41 111 </td> 42 112 <td class="chgset"> 43 <a class="block-link"href="<?cs var:item.changeset_href ?>"><?cs var:item.rev ?></a>113 <a href="<?cs var:item.changeset_href ?>"><?cs var:item.rev ?></a> 44 114 </td> 45 <td class="author"><?cs var: item.author ?></td>46 <td class="summary"><?cs var: item.log?></td>47 </tr> 48 <?cs/each ?>115 <td class="author"><?cs var:log.changes[item.rev].author ?></td> 116 <td class="summary"><?cs var:log.changes[item.rev].message ?></td> 117 </tr><?cs 118 /each ?> 49 119 </tbody> 50 </table> 120 </table><?cs 121 if:len(links.prev) || len(links.next) ?><div id="paging" class="nav"><ul><?cs 122 if:len(links.prev) ?><li class="first<?cs 123 if:!len(links.next) ?> last<?cs /if ?>">← <a href="<?cs 124 var:links.prev.0.href ?>" title="<?cs 125 var:links.prev.0.title ?>">Younger Revisions</a></li><?cs 126 /if ?><?cs 127 if:len(links.next) ?><li class="<?cs 128 if:len(links.prev) ?>first <?cs /if ?>last"><a href="<?cs 129 var:links.next.0.href ?>" title="<?cs 130 var:links.next.0.title ?>">Older Revisions</a> →</li><?cs 131 /if ?></ul></div><?cs 132 /if ?> 51 133 52 134 </div> djangoproject.com/django_website/templates/trac_templates/log_rss.cs
r189 r552 1 1 <?xml version="1.0"?> 2 <!-- RSS generated by Trac v<?cs var: $trac.version ?> on <?cs var:$trac.time ?> -->2 <!-- RSS generated by Trac v<?cs var:trac.version ?> on <?cs var:trac.time ?> --> 3 3 <rss version="2.0"> 4 <?cs set base_url = $HTTP.Protocol+'://'+$HTTP.Host ?> 5 <?cs if $HTTP.Port ?> 6 <?cs set base_url = $base_url + ':' + $HTTP.Port ?> 7 <?cs /if ?> 8 <channel> 9 <?cs if $project.name.encoded ?> 10 <title><?cs var:$project.name.encoded ?>: Revisions of <?cs var:$log.path ?></title> 11 <?cs else ?> 12 <title>Revisions of <?cs var:$log.filename ?></title> 13 <?cs /if ?> 14 <link><?cs var:$base_url ?><?cs var:$log.href ?></link> 15 <description>Trac Log - Revisions of <?cs var:$log.path ?></description> 16 <language>en-us</language> 17 <generator>Trac v<?cs var:$trac.version ?></generator> 18 <?cs each:item = $log.items ?> 19 <item> 20 <!-- XXX: author element requires email address in rss 2.0. 21 maybe we should use the DC rdf stuff for metadata instead? 22 <author><?cs var:$item.author ?></author> --> 23 <pubDate><?cs var:$item.gmt ?></pubDate> 24 <title><?cs var:$item.rev+': '+$item.shortlog ?></title> 25 <link><?cs var:$base_url+$item.file_href ?></link> 26 <description><?cs var:$item.log.raw ?></description> 27 <category>Report</category> 28 </item> 29 <?cs /each ?> 30 </channel> 4 <channel><?cs 5 if:project.name.encoded ?> 6 <title><?cs var:project.name.encoded ?>: Revisions of <?cs var:log.path ?></title><?cs 7 else ?> 8 <title>Revisions of <?cs var:log.path ?></title><?cs 9 /if ?> 10 <link><?cs var:base_host ?><?cs var:log.log_href ?></link> 11 <description>Trac Log - Revisions of <?cs var:log.path ?></description> 12 <language>en-us</language> 13 <generator>Trac v<?cs var:trac.version ?></generator><?cs 14 each:item = log.items ?><?cs 15 with:change = log.changes[item.rev] ?> 16 <item> 17 <author><?cs var:change.author ?></author> 18 <pubDate><?cs var:change.date ?></pubDate> 19 <title>Revision <?cs var:item.rev ?>: <?cs var:change.shortlog ?></title> 20 <link><?cs var:base_host ?><?cs var:item.changeset_href ?></link> 21 <description><?cs var:change.message ?></description> 22 <category>Report</category> 23 </item><?cs 24 /with ?><?cs 25 /each ?> 26 </channel> 31 27 </rss> djangoproject.com/django_website/templates/trac_templates/macros.cs
r189 r552 1 <?cs def:hdf_select(options, name, selected ) ?>1 <?cs def:hdf_select(options, name, selected, optional) ?> 2 2 <select size="1" id="<?cs var:name ?>" name="<?cs var:name ?>"><?cs 3 each:option = options ?><?cs 4 if option.name == $selected ?> 5 <option selected="selected"><?cs var:option.name ?></option><?cs 6 else ?> 7 <option><?cs var:option.name ?></option><?cs 8 /if ?><?cs 3 if:optional ?><option></option><?cs /if ?><?cs 4 each:option = options ?> 5 <option<?cs if:option == selected ?> selected="selected"<?cs /if ?>><?cs 6 var:option ?></option><?cs 9 7 /each ?> 10 8 </select><?cs 11 /def?> 9 /def?><?cs 12 10 13 <?cs def:hdf_select_multiple(options, name, size) ?> 14 <select size="<?cs var:size ?>" id="<?cs var:name ?>" name="<?cs 15 var:name ?>" multiple="multiple"><?cs 16 each:option = options ?> 17 <option<?cs if:option.selected ?> selected="selected"<?cs /if ?>><?cs 18 var:option.name ?></option><?cs 19 /each ?> 20 </select><?cs 21 /def ?> 11 def:labelled_hdf_select(label, options, name, selected, optional) ?><?cs 12 if:len(options) > #0 ?> 13 <label for="<?cs var:name ?>"><?cs var:label ?></label><?cs 14 call:hdf_select(options, name, selected, optional) ?> 15 </label> 16 <br /><?cs 17 /if ?><?cs 18 /def ?><?cs 22 19 23 <?cs def:browser_path_links(path, file) ?><?cs 24 set:first = #1 ?> 25 <h1><?cs 20 def:browser_path_links(path, file) ?><?cs 21 set:first = #1 ?><?cs 26 22 each:part = path ?><?cs 27 23 set:last = name(part) == len(path) - #1 ?><a<?cs 28 24 if:first ?> class="first" title="Go to root directory"<?cs 29 25 set:first = #0 ?><?cs 30 else ?> title=" Go to directory"<?cs31 /if ?> href="<?cs var:part. url ?>"><?cs var:part?></a><?cs32 if: file.filename ||!last ?><span class="sep">/</span><?cs /if ?><?cs26 else ?> title="View <?cs var:part.name ?>"<?cs 27 /if ?> href="<?cs var:part.href ?>"><?cs var:part.name ?></a><?cs 28 if:!last ?><span class="sep">/</span><?cs /if ?><?cs 33 29 /each ?><?cs 34 if:file.filename ?><span class="filename"><?cs var:file.filename ?></span><?cs 35 /if ?></h1> 36 <?cs /def ?> 30 /def ?><?cs 37 31 38 <?cs def:diff_display(change, style) ?><?cs 32 def:diff_line_class(block, line) ?><?cs 33 set:first = name(line) == 0 ?><?cs 34 set:last = name(line) + 1 == len(block.lines) ?><?cs 35 if:first || last ?> class="<?cs 36 if:first ?>first<?cs /if ?><?cs 37 if:first && last ?> <?cs /if ?><?cs 38 if:last ?>last<?cs /if ?>"<?cs 39 /if ?><?cs 40 /def ?><?cs 41 42 def:diff_display(diff, style) ?><?cs 39 43 if:style == 'sidebyside' ?><?cs 40 each:block = change.blocks ?><?cs 41 if:block.type == 'unmod' ?><tbody class="unmod"><?cs 42 each:line = block.base.lines ?><tr> 43 <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> 44 <td class="base"><span><?cs var:line ?></span> </td> 45 <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> 46 <td class="chg"><span><?cs var:line ?></span> </td> 47 </tr><?cs /each ?> 48 </tbody><?cs 44 each:block = diff ?><?cs 45 if:block.type == 'unmod' ?><tbody><?cs 46 each:line = block.base.lines ?><tr><th><?cs 47 var:#block.base.offset + name(line) + 1 ?></th><td class="l"><span><?cs 48 var:line ?></span> </td><th><?cs 49 var:#block.changed.offset + name(line) + 1 ?></th><td class="r"><span><?cs 50 var:block.changed.lines[name(line)] ?></span> </td></tr><?cs 51 /each ?></tbody><?cs 49 52 elif:block.type == 'mod' ?><tbody class="mod"><?cs 50 53 if:len(block.base.lines) >= len(block.changed.lines) ?><?cs 51 each:line = block.base.lines ?><tr> 52 <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th>53 <td class="base"><?csvar:line ?> </td><?cs54 each:line = block.base.lines ?><tr><th><?cs 55 var:#block.base.offset + name(line) + 1 ?></th><td class="l"><?cs 56 var:line ?> </td><?cs 54 57 if:len(block.changed.lines) >= name(line) + 1 ?><?cs 55 58 each:changedline = block.changed.lines ?><?cs 56 if:name(changedline) == name(line) ?> 57 <th class="chg"><?cs var:#block.changed.offset + name(changedline) + 1 ?></th>58 <td class="chg"><?csvar:changedline ?> </td><?cs59 if:name(changedline) == name(line) ?><th><?cs 60 var:#block.changed.offset + name(changedline) + 1 ?></th><td class="r"><?cs 61 var:changedline ?> </td><?cs 59 62 /if ?><?cs 60 63 /each ?><?cs 61 else ?> 62 <th class="chg"> </th> 63 <td class="chg"> </td><?cs 64 /if ?> 65 </tr><?cs /each ?><?cs 64 else ?><th> </th><td class="r"> </td><?cs 65 /if ?></tr><?cs 66 /each ?><?cs 66 67 else ?><?cs 67 68 each:line = block.changed.lines ?><tr><?cs 68 69 if:len(block.base.lines) >= name(line) + 1 ?><?cs 69 70 each:baseline = block.base.lines ?><?cs 70 if:name(baseline) == name(line) ?> 71 <th class="base"><?cs var:#block.base.offset + name(baseline) + 1 ?></th>72 <td class="base"><?csvar:baseline ?> </td><?cs71 if:name(baseline) == name(line) ?><th><?cs 72 var:#block.base.offset + name(baseline) + 1 ?></th><td class="l"><?cs 73 var:baseline ?> </td><?cs 73 74 /if ?><?cs 74 75 /each ?><?cs 75 else ?> 76 <th class="base"> </th> 77 <td class="base"> </td><?cs 76 else ?><th> </th><td class="l"> </td><?cs 78 77 /if ?> 79 <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> 80 <td class="chg"><?cs var:line ?> </td> 81 </tr><?cs /each ?><?cs 82 /if ?> 83 </tbody><?cs 78 <th><?cs var:#block.changed.offset + name(line) + 1 ?></th> 79 <td class="r"><?cs var:line ?> </td></tr><?cs 80 /each ?><?cs 81 /if ?></tbody><?cs 84 82 elif:block.type == 'add' ?><tbody class="add"><?cs 85 each:line = block.changed.lines ?><tr> 86 <th class="base"> </th> 87 <td class="base"> </td> 88 <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> 89 <td class="chg"><ins><?cs var:line ?></ins> </td> 90 </tr><?cs /each ?><?cs 83 each:line = block.changed.lines ?><tr><th> </th><td class="l"> </td><th><?cs 84 var:#block.changed.offset + name(line) + 1 ?></th><td class="r"><ins><?cs 85 var:line ?></ins> </td></tr><?cs 86 /each ?><?cs 91 87 elif:block.type == 'rem' ?><tbody class="rem"><?cs 92 each:line = block.base.lines ?><tr> 93 <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> 94 <td class="base"><del><?cs var:line ?></del> </td> 95 <th class="chg"> </th> 96 <td class="chg"> </td> 97 </tr><?cs /each ?><?cs 98 /if ?> 99 </tbody><?cs 88 each:line = block.base.lines ?><tr><th><?cs 89 var:#block.base.offset + name(line) + 1 ?></th><td class="l"><del><?cs 90 var:line ?></del> </td><th> </th><td class="r"> </td></tr><?cs 91 /each ?><?cs 92 /if ?></tbody><?cs 100 93 /each ?><?cs 101 94 else ?><?cs 102 each:block = change.blocks ?> 103 <?cs if:block.type == 'unmod' ?><tbody class="unmod"><?cs 104 each:line = block.base.lines ?><tr> 105 <th class="base"><?cs var:#block.base.offset + name(line) + #1 ?></th> 106 <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> 107 <td class="base"><span><?cs var:line ?></span> </td> 108 </tr><?cs /each ?> 109 </tbody> 110 <?cs elif:block.type == 'mod' ?><tbody class="mod"><?cs 111 each:line = block.base.lines ?><tr class="<?cs 112 if:name(line) == 0 ?>first<?cs /if ?>"> 113 <th class="base"><?cs var:#block.base.offset + name(line) + #1 ?></th> 114 <th class="chg"> </th> 115 <td class="base"><?cs var:line ?> </td> 116 </tr><?cs /each ?><?cs 117 each:line = block.changed.lines ?><tr class="<?cs 118 if:name(line) + 1 == len(block.changed.lines) ?> last<?cs /if ?>"> 119 <th class="base"> </th> 120 <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> 121 <td class="chg"><?cs var:line ?> </td> 122 </tr><?cs /each ?> 123 </tbody> 124 <?cs elif:block.type == 'add' ?><tbody class="add"><?cs 125 each:line = block.changed.lines ?><tr class="<?cs 126 if:name(line) == 0 ?>first<?cs /if ?><?cs 127 if:name(line) + 1 == len(block.changed.lines) ?> last ?><?cs /if ?>"> 128 <th class="base"> </th> 129 <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> 130 <td class="chg"><ins><?cs var:line ?></ins> </td> 131 </tr><?cs /each ?> 132 </tbody> 133 <?cs elif:block.type == 'rem' ?><tbody class="rem"><?cs 134 each:line = block.base.lines ?><tr class="<?cs 135 if:name(line) == 0 ?>first<?cs /if ?><?cs 136 if:name(line) + 1 == len(block.base.lines) ?> last ?><?cs /if ?>"> 137 <th class="base"><?cs var:#block.base.offset + name(line) + 1 ?></th> 138 <th class="chg"> </th> 139 <td class="base"><del><?cs var:line ?></del> </td> 140 </tr><?cs /each ?> 141 </tbody> 142 <?cs /if ?><?cs 95 each:block = diff ?><?cs 96 if:block.type == 'unmod' ?><tbody><?cs 97 each:line = block.base.lines ?><tr><th><?cs 98 var:#block.base.offset + name(line) + #1 ?></th><th><?cs 99 var:#block.changed.offset + name(line) + #1 ?></th><td class="l"><span><?cs 100 var:line ?></span> </td></tr><?cs 101 /each ?></tbody><?cs 102 elif:block.type == 'mod' ?><tbody class="mod"><?cs 103 each:line = block.base.lines ?><tr<?cs 104 if:name(line) == 0 ?> class="first"<?cs /if ?>><th><?cs 105 var:#block.base.offset + name(line) + #1 ?></th><th> </th><td class="l"><?cs 106 var:line ?> </td></tr><?cs 107 /each ?><?cs 108 each:line = block.changed.lines ?><tr<?cs 109 if:name(line) + 1 == len(block.changed.lines) ?> class="last"<?cs /if ?>><th> </th><th><?cs 110 var:#block.changed.offset + name(line) + #1 ?></th><td class="r"><?cs 111 var:line ?> </td></tr><?cs 112 /each ?></tbody><?cs 113 elif:block.type == 'add' ?><tbody class="add"><?cs 114 each:line = block.changed.lines ?><tr<?cs 115 call:diff_line_class(block.changed, line) ?>><th> </th><th><?cs 116 var:#block.changed.offset + name(line) + #1 ?></th><td class="r"><ins><?cs 117 var:line ?></ins> </td></tr><?cs 118 /each ?></tbody><?cs 119 elif:block.type == 'rem' ?><tbody class="rem"><?cs 120 each:line = block.base.lines ?><tr<?cs 121 call:diff_line_class(block.base, line) ?>><th><?cs 122 var:#block.base.offset + name(line) + 1 ?></th><th> </th><td class="l"><del><?cs 123 var:line ?></del> </td></tr><?cs 124 /each ?></tbody><?cs 125 /if ?><?cs 143 126 /each ?><?cs 144 127 /if ?><?cs 145 /def ?> 128 /def ?><?cs 146 129 147 <?cs def:session_name_email() ?><?cs 148 if trac.authname != "anonymous" ?><?cs 149 var:trac.authname ?><?cs 150 elif trac.session.var.name && trac.session.var.email ?><?cs 151 var:trac.session.var.name ?> <<?cs var:trac.session.var.email ?>><?cs 152 elif !trac.session.var.name && trac.session.var.email ?><?cs 153 var:trac.session.var.email ?><?cs 154 else ?><?cs 155 var:trac.authname ?><?cs 156 /if ?><?cs 157 /def ?> 158 159 <?cs def:ticket_custom_props(ticket) ?><?cs 130 def:ticket_custom_props(ticket) ?><?cs 160 131 each c=ticket.custom ?> 161 132 <div class="field custom_<?cs var c.name ?>"><?cs 162 if c.type == 'text' || c.type == 'select' ?>163 <label for="custom_<?cs var c.name ?>"><?cs alt c.label ?><?cs164 var c.name ?><?cs /alt ?></label>:<?cs165 /if ?><?cs166 133 if c.type == 'text' ?> 167 <input type="text" id="custom_<?cs var c.name ?>" name="custom_<?cs 168 var c.name ?>" value="<?cs var c.value ?>" /><?cs 134 <label> 135 <?cs alt c.label ?><?cs var c.name ?><?cs /alt ?>: 136 <input type="text" name="custom_<?cs var c.name ?>" value="<?cs var c.value ?>" /> 137 </label><?cs 169 138 elif c.type == 'textarea' ?> 170 <label for="custom_<?cs var c.name ?>"><?cs alt c.label ?><?cs 171 var c.name ?><?cs /alt ?></label>:<br /> 172 <textarea cols="<?cs alt c.width ?>60<?cs /alt ?>" rows="<?cs 173 alt c.height ?>12<?cs /alt ?>" name="custom_<?cs var c.name ?>"><?cs 174 var c.value ?></textarea><?cs 139 <label> 140 <?cs alt c.label ?><?cs var c.name ?><?cs /alt ?>:<br /> 141 <textarea cols="<?cs alt c.width ?>60<?cs /alt ?>" rows="<?cs 142 alt c.height ?>12<?cs /alt ?>" name="custom_<?cs var c.name ?>"><?cs 143 var c.value ?></textarea> 144 </label><?cs 175 145 elif c.type == 'checkbox' ?> 176 <input type="hidden" name="checkbox_<?cs var c.name ?>" value="custom_<?cs177 var c.name ?>" />178 <input type="checkbox" id="custom_<?cs var c.name ?>" name="custom_<?cs179 var c.name ?>" value="1" <?cs if c.selected ?>checked="checked"<?cs /if ?> />180 <label for="custom_<?cs var c.name ?>"><?cs alt c.label ?><?cs181 var c.name ?><?cs /alt ?></label><?cs146 <input type="hidden" name="checkbox_<?cs var c.name ?>" /> 147 <label> 148 <input type="checkbox" name="custom_<?cs var c.name ?>" value="1"<?cs 149 if c.selected ?> checked="checked"<?cs /if ?> /> 150 <?cs alt c.label ?><?cs var c.name ?><?cs /alt ?> 151 </label><?cs 182 152 elif c.type == 'select' ?> 183 <select name="custom_<?cs var c.name ?>"><?cs each v = c.option ?> 184 <option <?cs if v.selected ?>selected="selected"<?cs /if ?>><?cs 185 var v ?></option><?cs /each ?> 186 </select><?cs 153 <label> 154 <?cs alt c.label ?><?cs var c.name ?><?cs /alt ?>: 155 <select name="custom_<?cs var c.name ?>"><?cs each v = c.option ?> 156 <option<?cs if v.selected ?> selected="selected"<?cs /if ?>><?cs 157 var v ?></option><?cs /each ?> 158 </select> 159 </label><?cs 187 160 elif c.type == 'radio' ?> 188 161 <fieldset class="radio"> 189 162 <legend><?cs alt c.label ?><?cs var c.name ?><?cs /alt ?>:</legend><?cs 190 163 each v = c.option ?> 191 <input type="radio" id="custom_<?cs var c.name ?>_<?cs 192 var v ?>" name="custom_<?cs var c.name ?>"<?cs 193 if v.selected ?> checked="checked"<?cs /if ?> value="<?cs var v ?>"/> 194 <label for="custom_<?cs var c.name ?>_<?cs var v ?>"><?cs 195 var v ?></label><?cs 164 <label><input type="radio" name="custom_<?cs var c.name ?>" value="<?cs 165 var v ?>"<?cs if v.selected ?> checked="checked"<?cs /if ?> /> <?cs 166 var v ?></label><?cs 196 167 /each ?> 197 168 </fieldset><?cs … … 199 170 </div><?cs 200 171 /each ?><?cs 172 /def ?><?cs 173 174 def:sortable_th(order, desc, class, title, href) ?> 175 <th class="<?cs var:class ?><?cs if:order == class ?> <?cs if:desc ?>desc<?cs else ?>asc<?cs /if ?><?cs /if ?>"> 176 <a title="Sort by <?cs var:class ?><?cs if:order == class && !desc ?> (descending)<?cs /if ?>" 177 href="<?cs var:href ?>&order=<?cs var:class ?><?cs if:order == class && !desc ?>&desc=1<?cs /if ?>"><?cs var:title ?></a> 178 </th><?cs 201 179 /def ?> 202 203 <?cs def:wiki_toolbar(textarea_id) ?>204 <script type='text/javascript'>205 addWikiFormattingToolbar(document.getElementById("<?cs var:textarea_id ?>"));206 </script>207 <?cs /def ?>djangoproject.com/django_website/templates/trac_templates/milestone.cs
r189 r552 1 <?cs set:html.stylesheet = 'css/roadmap.css' ?>2 1 <?cs include:"header.cs"?> 3 2 <?cs include:"macros.cs"?> 4 3 5 <div id="ctxtnav" class="nav"> 6 <ul> 7 <?cs if:milestone.href.edit ?><li class="first"><a href="<?cs 8 var:milestone.href.edit ?>">Edit Milestone Info</a></li><?cs /if ?> 9 <?cs if:milestone.href.delete ?><li class="last"><a href="<?cs 10 var:milestone.href.delete ?>">Delete Milestone</a></li><?cs /if ?> 11 </ul> 12 </div> 4 <div id="ctxtnav" class="nav"></div> 13 5 14 6 <div id="content" class="milestone"> … … 21 13 <?cs else ?> 22 14 <h1>Milestone <?cs var:milestone.name ?></h1> 23 <form action="#stats" id="prefs" method="get">24 <div>25 <label for="by">View status by</label>26 <select id="by" name="by"><?cs each:group = milestone.stats.available_groups ?>27 <option<?cs28 if:milestone.stats.grouped_by == group?> selected="selected"<?cs29 /if ?>><?cs var:group ?></option>30 <?cs /each ?></select>31 <div>32 <input name="showempty" id="showempty" type="checkbox"<?cs33 if:milestone.stats.show_empty ?> checked="checked"<?cs /if ?>>34 <label for="showempty">Show groups with no assigned tickets</label>35 </div>36 <div class="buttons">37 <input type="submit" value="Update" />38 </div>39 </div>40 </form>41 15 <?cs /if ?> 42 16 … … 44 18 <script type="text/javascript"> 45 19 addEvent(window, 'load', function() { 46 document.getElementById('name').focus() }47 );20 document.getElementById('name').focus(); 21 }); 48 22 </script> 49 <form id="edit" action="<?cs var:cgi_location ?>" method="post"> 50 <input type="hidden" name="mode" value="milestone" /> 23 <form id="edit" action="<?cs var:milestone.href ?>" method="post"> 51 24 <input type="hidden" name="id" value="<?cs var:milestone.name ?>" /> 52 <input type="hidden" name="action" value=" commit_changes" />25 <input type="hidden" name="action" value="edit" /> 53 26 <div class="field"> 54 <label for="name">Name of the milestone:</label><br />27 <label>Name of the milestone:<br /> 55 28 <input type="text" id="name" name="name" size="32" value="<?cs 56 var:milestone.name ?>" /> 57 </div> 58 <div class="field"> 59 <label for="datemode">Completion date:</label><br /> 60 <select name="datemode" id="datemode" 61 onchange="enableControl('date',this.value=='manual'); 62 if (this.value=='manual') document.getElementById('date').focus();"> 63 <option value="manual">Set manually</option> 64 <option value="now">Mark as completed now</option> 65 </select> 66 <input type="text" id="date" name="date" size="8" value="<?cs 67 var:milestone.date ?>" title="Format: <?cs var:milestone.date_hint ?>" /> 68 <label for="date"><em>Format: <?cs var:milestone.date_hint ?></em></label> 69 </div> 29 var:milestone.name ?>" /></label> 30 </div> 31 <fieldset> 32 <legend>Schedule</legend> 33 <label>Due:<br /> 34 <input type="text" id="duedate" name="duedate" size="<?cs 35 var:len(milestone.date_hint) ?>" value="<?cs 36 var:milestone.due_date ?>" title="Format: <?cs var:milestone.date_hint ?>" /> 37 <em>Format: <?cs var:milestone.date_hint ?></em> 38 </label> 39 <div class="field"> 40 <label> 41 <input type="checkbox" id="completed" name="completed"<?cs 42 if:milestone.completed ?> checked="checked"<?cs /if ?> /> 43 Completed:<br /> 44 </label> 45 <label> 46 <input type="text" id="completeddate" name="completeddate" size="<?cs 47 var:len(milestone.date_hint) ?>" value="<?cs 48 alt:milestone.completed_date ?><?cs 49 var:milestone.datetime_now ?><?cs 50 /alt ?>" title="Format: <?cs 51 var:milestone.datetime_hint ?>" /> 52 <em>Format: <?cs var:milestone.datetime_hint ?></em> 53 </label> 54 <script type="text/javascript"> 55 var completed = document.getElementById("completed"); 56 var enableCompletedDate = function() { 57 enableControl("completeddate", completed.checked); 58 }; 59 addEvent(window, "load", enableCompletedDate); 60 addEvent(completed, "click", enableCompletedDate); 61 </script> 62 </div> 63 </fieldset> 70 64 <div class="field"> 71 65 <fieldset class="iefix"> 72 <label for="descr ">Description (you may use <a tabindex="42" href="<?cs66 <label for="description">Description (you may use <a tabindex="42" href="<?cs 73 67 var:trac.href.wiki ?>/WikiFormatting">WikiFormatting</a> here):</label> 74 <p><textarea id="descr" name="descr" rows="12" cols="80"><?cs 75 var:milestone.descr_source ?></textarea></p> 76 <?cs call:wiki_toolbar('descr') ?> 68 <p><textarea id="description" name="description" class="wikitext" rows="10" cols="78"><?cs 69 var:milestone.description_source ?></textarea></p> 77 70 </fieldset> 78 71 </div> 79 72 <div class="buttons"> 80 73 <?cs if:milestone.mode == "new" 81 ?><input type="submit" name="save" value="Add Milestone" /><?cs74 ?><input type="submit" value="Add milestone" /><?cs 82 75 else 83 ?><input type="submit" name="save" value="Save Changes" /><?cs76 ?><input type="submit" value="Submit changes" /><?cs 84 77 /if ?> 85 78 <input type="submit" name="cancel" value="Cancel" /> 86 79 </div> 80 <script type="text/javascript" src="<?cs 81 var:htdocs_location ?>js/wikitoolbar.js"></script> 87 82 </form> 88 83 <?cs elif:milestone.mode == "delete" ?> 89 <form action="<?cs var:cgi_location ?>" method="post"> 90 <input type="hidden" name="mode" value="milestone" /> 84 <form action="<?cs var:milestone.href ?>" method="post"> 91 85 <input type="hidden" name="id" value="<?cs var:milestone.name ?>" /> 92 <input type="hidden" name="action" value=" confirm_delete" />86 <input type="hidden" name="action" value="delete" /> 93 87 <p><strong>Are you sure you want to delete this milestone?</strong></p> 94 88 <input type="checkbox" id="retarget" name="retarget" checked="checked" … … 103 97 <div class="buttons"> 104 98 <input type="submit" name="cancel" value="Cancel" /> 105 <input type="submit" name="delete" value="Delete Milestone" />99 <input type="submit" value="Delete milestone" /> 106 100 </div> 107 101 </form> 108 102 <?cs else ?> 109 <em class="date"><?cs if:milestone.date ?>110 <?cs var:milestone.date ?><?cs else ?>No date set<?cs /if ?>111 </em>112 <div class="descr"><?cs var:milestone.descr ?></div>113<
