Django

Code

Changeset 552

Show
Ignore:
Timestamp:
08/25/05 23:30:46 (3 years ago)
Author:
jacob
Message:

More trac templates changes

Files:

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 
     2if:len(chrome.links.alternate) ?> 
     3<div id="altlinks"><h3>Download in other formats:</h3><ul><?cs 
     4 each:link = chrome.links.alternate ?><?cs 
    75  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 
    107    if:isfirst || islast ?> class="<?cs 
    118     if:isfirst ?>first<?cs /if ?><?cs 
    129     if:isfirst && islast ?> <?cs /if ?><?cs 
    1310     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 ?> 
    2215 
    2316</div> 
    2417 
    2518<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>       
    4221</div> 
    43  
    4422 
    4523<?cs include "site_footer.cs" ?> 
  • djangoproject.com/django_website/templates/trac_templates/header.cs

    r373 r552  
    7878         </form> 
    7979 
    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' ?> 
    21<?cs include "header.cs"?> 
    32<?cs include "macros.cs"?> 
     
    65 <ul> 
    76  <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    &larr; <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> &rarr; 
     18   </li><?cs 
     19  /if ?> 
    920 </ul> 
    1021</div> 
    1122 
     23 
    1224<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> 
    2154   </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> 
    2376 </div> 
    24  
    2577 <table id="chglist" class="listing"> 
    2678  <thead> 
    2779   <tr> 
     80    <th class="change"></th> 
    2881    <th class="data">Date</th> 
    2982    <th class="rev">Rev</th> 
     
    3386   </tr> 
    3487  </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 ?> 
    37101    <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> 
    39109     <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> 
    41111     </td> 
    42112     <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> 
    44114     </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 ?> 
    49119  </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 ?>">&larr; <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> &rarr;</li><?cs 
     131  /if ?></ul></div><?cs 
     132 /if ?> 
    51133 
    52134</div> 
  • djangoproject.com/django_website/templates/trac_templates/log_rss.cs

    r189 r552  
    11<?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 ?> --> 
    33<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> 
    3127</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) ?> 
    22 <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 
    97  /each ?> 
    108 </select><?cs 
    11 /def?> 
     9/def?><?cs 
    1210 
    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 ?> 
     11def: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 
    2219 
    23 <?cs def:browser_path_links(path, file) ?><?cs 
    24  set:first = #1 ?> 
    25  <h1><?cs 
     20def:browser_path_links(path, file) ?><?cs 
     21 set:first = #1 ?><?cs 
    2622  each:part = path ?><?cs 
    2723   set:last = name(part) == len(path) - #1 ?><a<?cs  
    2824   if:first ?> class="first" title="Go to root directory"<?cs  
    2925    set:first = #0 ?><?cs  
    30    else ?> title="Go to directory"<?cs 
    31    /if ?> href="<?cs var:part.url ?>"><?cs var:part ?></a><?cs 
    32    if:file.filename || !last ?><span class="sep">/</span><?cs /if ?><?cs  
     26   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  
    3329 /each ?><?cs 
    34  if:file.filename ?><span class="filename"><?cs var:file.filename ?></span><?cs 
    35  /if ?></h1> 
    36 <?cs /def ?> 
     30/def ?><?cs 
    3731 
    38 <?cs def:diff_display(change, style) ?><?cs 
     32def: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 
     42def:diff_display(diff, style) ?><?cs 
    3943 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>&nbsp;</td> 
    45      <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> 
    46      <td class="chg"><span><?cs var:line ?></span>&nbsp;</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>&nbsp;</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>&nbsp;</td></tr><?cs 
     51    /each ?></tbody><?cs 
    4952   elif:block.type == 'mod' ?><tbody class="mod"><?cs 
    5053    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"><?cs var:line ?>&nbsp;</td><?cs 
     54     each:line = block.base.lines ?><tr><th><?cs 
     55      var:#block.base.offset + name(line) + 1 ?></th><td class="l"><?cs 
     56      var:line ?>&nbsp;</td><?cs 
    5457      if:len(block.changed.lines) >= name(line) + 1 ?><?cs 
    5558       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"><?cs var:changedline ?>&nbsp;</td><?cs 
     59        if:name(changedline) == name(line) ?><th><?cs 
     60         var:#block.changed.offset + name(changedline) + 1 ?></th><td class="r"><?cs 
     61         var:changedline ?>&nbsp;</td><?cs 
    5962        /if ?><?cs 
    6063       /each ?><?cs 
    61       else ?> 
    62        <th class="chg">&nbsp;</th> 
    63        <td class="chg">&nbsp;</td><?cs 
    64       /if ?> 
    65      </tr><?cs /each ?><?cs 
     64      else ?><th>&nbsp;</th><td class="r">&nbsp;</td><?cs 
     65      /if ?></tr><?cs 
     66     /each ?><?cs 
    6667    else ?><?cs 
    6768     each:line = block.changed.lines ?><tr><?cs 
    6869      if:len(block.base.lines) >= name(line) + 1 ?><?cs 
    6970       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"><?cs var:baseline ?>&nbsp;</td><?cs 
     71        if:name(baseline) == name(line) ?><th><?cs 
     72         var:#block.base.offset + name(baseline) + 1 ?></th><td class="l"><?cs 
     73         var:baseline ?>&nbsp;</td><?cs 
    7374        /if ?><?cs 
    7475       /each ?><?cs 
    75       else ?> 
    76        <th class="base">&nbsp;</th> 
    77        <td class="base">&nbsp;</td><?cs 
     76      else ?><th>&nbsp;</th><td class="l">&nbsp;</td><?cs 
    7877      /if ?> 
    79       <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> 
    80       <td class="chg"><?cs var:line ?>&nbsp;</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 ?>&nbsp;</td></tr><?cs 
     80     /each ?><?cs 
     81    /if ?></tbody><?cs 
    8482   elif:block.type == 'add' ?><tbody class="add"><?cs 
    85     each:line = block.changed.lines ?><tr> 
    86      <th class="base">&nbsp;</th> 
    87      <td class="base">&nbsp;</td> 
    88      <th class="chg"><?cs var:#block.changed.offset + name(line) + 1 ?></th> 
    89      <td class="chg"><ins><?cs var:line ?></ins>&nbsp;</td> 
    90     </tr><?cs /each ?><?cs 
     83    each:line = block.changed.lines ?><tr><th>&nbsp;</th><td class="l">&nbsp;</td><th><?cs 
     84     var:#block.changed.offset + name(line) + 1 ?></th><td class="r"><ins><?cs 
     85     var:line ?></ins>&nbsp;</td></tr><?cs 
     86    /each ?><?cs 
    9187   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>&nbsp;</td> 
    95      <th class="chg">&nbsp;</th> 
    96      <td class="chg">&nbsp;</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>&nbsp;</td><th>&nbsp;</th><td class="r">&nbsp;</td></tr><?cs 
     91    /each ?><?cs 
     92   /if ?></tbody><?cs 
    10093  /each ?><?cs 
    10194 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>&nbsp;</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">&nbsp;</th> 
    115      <td class="base"><?cs var:line ?>&nbsp;</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">&nbsp;</th> 
    120      <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> 
    121      <td class="chg"><?cs var:line ?>&nbsp;</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">&nbsp;</th> 
    129      <th class="chg"><?cs var:#block.changed.offset + name(line) + #1 ?></th> 
    130      <td class="chg"><ins><?cs var:line ?></ins>&nbsp;</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">&nbsp;</th> 
    139      <td class="base"><del><?cs var:line ?></del>&nbsp;</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>&nbsp;</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>&nbsp;</th><td class="l"><?cs 
     106     var:line ?>&nbsp;</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>&nbsp;</th><th><?cs 
     110     var:#block.changed.offset + name(line) + #1 ?></th><td class="r"><?cs 
     111     var:line ?>&nbsp;</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>&nbsp;</th><th><?cs 
     116     var:#block.changed.offset + name(line) + #1 ?></th><td class="r"><ins><?cs 
     117     var:line ?></ins>&nbsp;</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>&nbsp;</th><td class="l"><del><?cs 
     123     var:line ?></del>&nbsp;</td></tr><?cs 
     124    /each ?></tbody><?cs 
     125   /if ?><?cs 
    143126  /each ?><?cs 
    144127 /if ?><?cs 
    145 /def ?> 
     128/def ?><?cs 
    146129 
    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 ?> &lt;<?cs var:trac.session.var.email ?>&gt;<?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 
     130def:ticket_custom_props(ticket) ?><?cs 
    160131 each c=ticket.custom ?> 
    161132  <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 ?><?cs 
    164       var c.name ?><?cs /alt ?></label>:<?cs 
    165    /if ?><?cs 
    166133   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 
    169138   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 
    175145   elif c.type == 'checkbox' ?> 
    176     <input type="hidden" name="checkbox_<?cs var c.name ?>" value="custom_<?cs 
    177       var c.name ?>" /
    178     <input type="checkbox" id="custom_<?cs var c.name ?>" name="custom_<?cs 
    179       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 ?><?cs 
    181       var c.name ?><?cs /alt ?></label><?cs 
     146    <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 
    182152   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 
    187160   elif c.type == 'radio' ?> 
    188161    <fieldset class="radio"> 
    189162     <legend><?cs alt c.label ?><?cs var c.name ?><?cs /alt ?>:</legend><?cs 
    190163     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 
    196167     /each ?> 
    197168    </fieldset><?cs 
     
    199170  </div><?cs 
    200171 /each ?><?cs 
     172/def ?><?cs  
     173 
     174def: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 
    201179/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' ?> 
    21<?cs include:"header.cs"?> 
    32<?cs include:"macros.cs"?> 
    43 
    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> 
    135 
    146<div id="content" class="milestone"> 
     
    2113 <?cs else ?> 
    2214 <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<?cs 
    28       if:milestone.stats.grouped_by == group?> selected="selected"<?cs 
    29       /if ?>><?cs var:group ?></option> 
    30    <?cs /each ?></select> 
    31    <div> 
    32     <input name="showempty" id="showempty" type="checkbox"<?cs 
    33        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> 
    4115 <?cs /if ?> 
    4216 
     
    4418  <script type="text/javascript"> 
    4519    addEvent(window, 'load', function() { 
    46       document.getElementById('name').focus() } 
    47     ); 
     20      document.getElementById('name').focus(); 
     21    }); 
    4822  </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"> 
    5124   <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" /> 
    5326   <div class="field"> 
    54     <label for="name">Name of the milestone:</label><br /> 
     27    <label>Name of the milestone:<br /> 
    5528    <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> 
    7064   <div class="field"> 
    7165    <fieldset class="iefix"> 
    72      <label for="descr">Description (you may use <a tabindex="42" href="<?cs 
     66     <label for="description">Description (you may use <a tabindex="42" href="<?cs 
    7367       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> 
    7770    </fieldset> 
    7871   </div> 
    7972   <div class="buttons"> 
    8073    <?cs if:milestone.mode == "new" 
    81      ?><input type="submit" name="save" value="Add Milestone" /><?cs 
     74     ?><input type="submit" value="Add milestone" /><?cs 
    8275    else 
    83      ?><input type="submit" name="save" value="Save Changes" /><?cs 
     76     ?><input type="submit" value="Submit changes" /><?cs 
    8477    /if ?> 
    8578    <input type="submit" name="cancel" value="Cancel" /> 
    8679   </div> 
     80   <script type="text/javascript" src="<?cs 
     81     var:htdocs_location ?>js/wikitoolbar.js"></script> 
    8782  </form> 
    8883 <?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"> 
    9185   <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" /> 
    9387   <p><strong>Are you sure you want to delete this milestone?</strong></p> 
    9488   <input type="checkbox" id="retarget" name="retarget" checked="checked" 
     
    10397   <div class="buttons"> 
    10498    <input type="submit" name="cancel" value="Cancel" /> 
    105     <input type="submit" name="delete" value="Delete Milestone" /> 
     99    <input type="submit" value="Delete milestone" /> 
    106100   </div> 
    107101  </form> 
    108102 <?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<