Django

Code

Changeset 559

Show
Ignore:
Timestamp:
08/26/05 13:04:36 (3 years ago)
Author:
jacob
Message:

Finished changing trac templates to handle upgrade to 0.9pre -- fixes #424 and #358

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • djangoproject.com/django_website/templates/trac_templates/attachment.cs

    r553 r559  
    1 <?cs set:html.stylesheet = 'css/code.css' ?> 
     1<?cs set:html.stylesheet = 'css/diff.css' ?> 
    22<?cs include "header.cs" ?> 
    33<?cs include "macros.cs" ?> 
     
    77<div id="content" class="attachment"> 
    88 
    9  <h3>Add Attachment to <a href="<?cs 
    10    var:file.attachment_parent_href?>"><?cs var:file.attachment_parent?></a></h3> 
    11  <form id="attachment" method="post" enctype="multipart/form-data" action="<?cs 
    12    var:cgi_location ?>"> 
     9<?cs if:attachment.mode == 'new' ?> 
     10 <h1>Add Attachment to <a href="<?cs var:attachment.parent.href?>"><?cs 
     11   var:attachment.parent.name ?></a></h1> 
     12 <form id="attachment" method="post" enctype="multipart/form-data" action=""> 
    1313  <div class="field"> 
    14    <label for="file">File:</label> 
    15    <input type="file" id="file" name="attachment" /> 
     14   <label>File:<br /><input type="file" name="attachment" /></label> 
    1615  </div> 
    1716  <fieldset> 
    1817   <legend>Attachment Info</legend> 
    1918   <div class="field"> 
    20     <label for="author">Your email or username:</label><br /> 
    21     <input type="text" id="author" name="author" class="textwidget" size="30" 
    22         value="<?cs var:attachment.author?>" /
     19    <label>Your email or username:<br /> 
     20    <input type="text" name="author" size="30" value="<?cs 
     21      var:attachment.author?>" /></label
    2322   </div> 
    2423   <div class="field"> 
    25     <label for="description">Description of the file (optional):</label><br /> 
    26     <input type="text" id="description" name="description" class="textwidget" 
    27         size="60" /> 
    28    </div><br /> 
     24    <label>Description of the file (optional):<br /> 
     25    <input type="text" name="description" size="60" /></label 
     26   </div> 
     27   <div class="options"> 
     28    <label><input type="checkbox" name="replace" checked="checked" /> 
     29    Replace existing attachment of the same name</label> 
     30   </div> 
     31   <br /> 
    2932  </fieldset> 
    3033  <div class="buttons"> 
    31    <input type="hidden" name="mode" value="attachment" /> 
    32    <input type="hidden" name="type" value="<?cs var:attachment.type ?>" /> 
    33    <input type="hidden" name="id" value="<?cs var:attachment.id ?>" /> 
    34    <input type="submit" value="Add Attachment" /> 
     34   <input type="hidden" name="action" value="new" /> 
     35   <input type="hidden" name="type" value="<?cs var:attachment.parent.type ?>" /> 
     36   <input type="hidden" name="id" value="<?cs var:attachment.parent.id ?>" /> 
     37   <input type="submit" value="Add attachment" /> 
    3538   <input type="submit" name="cancel" value="Cancel" /> 
    3639  </div> 
    3740 </form> 
     41<?cs elif:attachment.mode == 'delete' ?> 
     42 <h1><a href="<?cs var:attachment.parent.href ?>"><?cs 
     43   var:attachment.parent.name ?></a>: <?cs var:attachment.filename ?></h1> 
     44 <p><strong>Are you sure you want to delete this attachment?</strong><br /> 
     45 This is an irreversible operation.</p> 
     46 <div class="buttons"> 
     47  <form method="post" action=""><div id="delete"> 
     48   <input type="hidden" name="action" value="delete" /> 
     49   <input type="submit" name="cancel" value="Cancel" /> 
     50   <input type="submit" value="Delete attachment" /> 
     51  </div></form> 
     52 </div><?cs else ?> 
     53 <h1><a href="<?cs var:attachment.parent.href ?>"><?cs 
     54   var:attachment.parent.name ?></a>: <?cs var:attachment.filename ?></h1> 
     55 <div id="preview"><?cs 
     56  if:attachment.preview ?> 
     57   <?cs var:attachment.preview ?><?cs 
     58  elif:attachment.max_file_size_reached ?> 
     59   <strong>HTML preview not available</strong>, since file-size exceeds 
     60   <?cs var:attachment.max_file_size  ?> bytes. You may <a href="<?cs 
     61     var:attachment.raw_href ?>">download the file</a> instead.<?cs 
     62  else ?> 
     63   <strong>HTML preview not available</strong>. To view the file, 
     64   <a href="<?cs var:attachment.raw_href ?>">download the file</a>.<?cs 
     65  /if ?> 
     66 </div> 
     67 <?cs if:attachment.can_delete ?><div class="buttons"> 
     68  <form method="get" action=""><div id="delete"> 
     69   <input type="hidden" name="action" value="delete" /> 
     70   <input type="submit" value="Delete attachment" /> 
     71  </div></form> 
     72 </div><?cs /if ?> 
     73<?cs /if ?> 
    3874 
    3975</div> 
  • djangoproject.com/django_website/templates/trac_templates/browser.cs

    r553 r559  
    1010 
    1111<div id="content" class="browser"> 
    12  <?cs call:browser_path_links(browser.path, browser) ?
     12 <h1><?cs call:browser_path_links(browser.path, browser) ?></h1
    1313 
    1414 <div id="jumprev"> 
    15   <form action="<?cs var:browser_current_href ?>" method="get"> 
    16    <div> 
    17     <label for="rev">View revision:</label> 
    18     <input type="text" id="rev" name="rev" value="<?cs 
    19       var:browser.revision?>" size="4" /> 
    20    </div> 
    21   </form> 
     15  <form action="" method="get"><div> 
     16   <label for="rev">View revision:</label> 
     17   <input type="text" id="rev" name="rev" value="<?cs 
     18     var:browser.revision ?>" size="4" /> 
     19  </div></form> 
    2220 </div> 
    2321 
    24  <table class="listing" id="dirlist"> 
    25   <thead> 
    26    <tr> 
    27     <th class="name<?cs if:browser.order == "name" ?> <?cs 
    28       var:browser.order_dir ?><?cs /if ?>"><a title="Sort by name<?cs 
    29       if:browser.order == "name" && browser.order_dir == "asc" ?> (descending)<?cs 
    30       /if ?>" href="<?cs var:browser.current_href?>?order=name<?cs 
    31       if:browser.order == "name" && browser.order_dir == "asc" ?>&desc=1<?cs 
    32       /if ?>">Name</a> 
     22 <?cs if:browser.is_dir ?> 
     23  <table class="listing" id="dirlist"> 
     24   <thead> 
     25    <tr><?cs  
     26     call:sortable_th(browser.order, browser.desc, 'name', 'Name', browser.href) ?><?cs  
     27     call:sortable_th(browser.order, browser.desc, 'size', 'Size', browser.href) ?> 
     28     <th class="rev">Rev</th><?cs  
     29     call:sortable_th(browser.order, browser.desc, 'date', 'Age', browser.href) ?> 
     30     <th class="change">Last Change</th> 
     31    </tr> 
     32   </thead> 
     33   <tbody> 
     34    <?cs if:len(links.up) != "/" ?> 
     35     <tr class="even"> 
     36      <td class="name" colspan="4"> 
     37       <a class="parent" title="Parent Directory" href="<?cs 
     38         var:links.up.0.href ?>">../</a> 
     39      </td> 
     40     </tr> 
     41    <?cs /if ?> 
     42    <?cs each:item = browser.items ?> 
     43     <?cs set:change = browser.changes[item.rev] ?> 
     44     <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
     45      <td class="name"><?cs 
     46       if:item.is_dir ?><?cs 
     47        if:item.permission ?> 
     48         <a class="dir" title="Browse Directory" href="<?cs 
     49           var:item.browser_href ?>"><?cs var:item.name ?></a><?cs 
     50        else ?> 
     51         <span class="dir" title="Access Denied" href=""><?cs 
     52           var:item.name ?></span><?cs 
     53        /if ?><?cs 
     54       else ?><?cs 
     55        if:item.permission != '' ?> 
     56         <a class="file" title="View File" href="<?cs 
     57           var:item.browser_href ?>"><?cs var:item.name ?></a><?cs 
     58        else ?> 
     59         <span class="file" title="Access Denied" href=""><?cs 
     60           var:item.name ?></span><?cs 
     61        /if ?><?cs 
     62       /if ?> 
     63      </td> 
     64      <td class="size"><?cs var:item.size ?></td> 
     65      <td class="rev"><?cs if:item.permission != '' ?><a title="View Revision Log" href="<?cs 
     66        var:item.log_href ?>"><?cs var:item.rev ?></a><?cs else ?><?cs var:item.rev ?><?cs /if ?></td> 
     67      <td class="age"><span title="<?cs var:browser.changes[item.rev].date ?>"><?cs 
     68        var:browser.changes[item.rev].age ?></span></td> 
     69      <td class="change"> 
     70       <span class="author"><?cs var:browser.changes[item.rev].author ?>:</span> 
     71       <span class="change"><?cs var:browser.changes[item.rev].message ?></span> 
     72      </td> 
     73     </tr> 
     74    <?cs /each ?> 
     75   </tbody> 
     76  </table><?cs 
     77 /if ?><?cs 
     78 
     79 if:len(browser.props) || !browser.is_dir ?> 
     80  <table id="info" summary="Revision info"><?cs 
     81   if:!browser.is_dir ?><tr> 
     82    <th scope="row"> 
     83     Revision <a href="<?cs var:file.changeset_href ?>"><?cs var:file.rev ?></a> 
     84     (checked in by <?cs var:file.author ?>, <?cs var:file.age ?> ago) 
    3385    </th> 
    34     <th class="rev">Rev</th> 
    35     <th class="age<?cs if:browser.order == "date" ?> <?cs 
    36       var:browser.order_dir ?><?cs /if ?>"><a title="Sort by age<?cs 
    37       if:browser.order == "date" && browser.order_dir == "asc" ?> (descending)<?cs 
    38       /if ?>" href="<?cs var:browser.current_href?>?order=date<?cs 
    39       if:browser.order == "date" && browser.order_dir == "asc" ?>&desc=1<?cs 
    40       /if ?>">Age</a> 
    41     </th> 
    42     <th class="change">Last Change</th> 
    43    </tr> 
    44   </thead> 
    45   <tbody> 
    46    <?cs if:browser.path != "/" ?> 
    47     <tr class="even"> 
    48      <td class="name" colspan="4"> 
    49       <a class="parent" title="Parent Directory" href="<?cs 
    50         var:browser.parent_href ?>">../</a> 
    51      </td> 
    52     </tr> 
    53    <?cs /if ?> 
    54    <?cs each:item = browser.items ?> 
    55     <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
    56      <td class="name"><?cs 
    57       if:item.is_dir ?><?cs 
    58        if:item.permission ?> 
    59         <a class="dir" title="Browse Directory" href="<?cs 
    60           var:item.browser_href ?>"><?cs var:item.name ?></a><?cs 
    61        else ?> 
    62         <span class="dir" title="Access Denied" href=""><?cs 
    63           var:item.name ?></span><?cs 
    64        /if ?><?cs 
    65       else ?><?cs 
    66        if:item.permission != '' ?>     
    67         <a class="file" title="View File" href="<?cs 
    68           var:item.browser_href ?>"><?cs var:item.name ?></a><?cs 
    69        else ?> 
    70         <span class="file" title="Access Denied" href=""><?cs 
    71           var:item.name ?></span><?cs 
    72        /if ?><?cs 
    73       /if ?> 
    74      </td> 
    75      <td class="rev"><?cs if:item.permission != '' ?><a title="View Revision Log" href="<?cs 
    76        var:item.log_href ?>"><?cs var:item.created_rev ?></a><?cs else ?><?cs var:item.created_rev ?><?cs /if ?></td> 
    77      <td class="age"><span title="<?cs var:item.date ?>"><?cs 
    78        var:item.age ?></span></td> 
    79      <td class="change"> 
    80       <span class="author"><?cs var:item.author ?>:</span> 
    81       <span class="change"><?cs var:item.change ?></span> 
    82      </td> 
    83     </tr> 
    84    <?cs /each ?> 
    85   </tbody> 
    86  </table> 
     86    <td class="message"><?cs var:file.message ?></td> 
     87   </tr><?cs /if ?><?cs 
     88   if:len(browser.props) ?><tr> 
     89    <td colspan="2"><ul class="props"><?cs 
     90     each:prop = browser.props ?> 
     91      <li>Property <strong><?cs var:name(prop) ?></strong> set to <em><code><?cs 
     92      var:prop ?></code></em></li><?cs 
     93     /each ?> 
     94    </ul></td><?cs 
     95   /if ?></tr> 
     96  </table><?cs 
     97 /if ?><?cs 
     98  
     99 if:!browser.is_dir ?> 
     100  <div id="preview"><?cs 
     101   if:file.preview ?><?cs 
     102    var:file.preview ?><?cs 
     103   elif:file.max_file_size_reached ?> 
     104    <strong>HTML preview not available</strong>, since file-size exceeds <?cs 
     105    var:file.max_file_size  ?> bytes. Try <a href="<?cs 
     106    var:file.raw_href ?>">downloading</a> the file instead.<?cs 
     107   else ?><strong>HTML preview not available</strong>. To view, <a href="<?cs 
     108    var:file.raw_href ?>">download</a> the file.<?cs 
     109   /if ?> 
     110  </div><?cs 
     111 /if ?> 
    87112 
    88113 <div id="help"> 
  • djangoproject.com/django_website/templates/trac_templates/changeset.cs

    r553 r559  
    2424<h1>Changeset <?cs var:changeset.revision ?></h1> 
    2525 
    26 <?cs if:len(changeset.diff.files) ?><form method="post" id="prefs" action=""> 
     26<?cs each:change = changeset.changes ?><?cs 
     27 if:len(change.diff) ?><?cs 
     28  set:has_diffs = 1 ?><?cs 
     29 /if ?><?cs 
     30/each ?><?cs if:has_diffs || diff.options.ignoreblanklines  
     31  || diff.options.ignorecase || diff.options.ignorewhitespace ?> 
     32<form method="post" id="prefs" action=""> 
    2733 <div> 
    2834  <label for="style">View differences</label> 
     
    6470</form><?cs /if ?> 
    6571 
     72<?cs def:node_change(item,cl,kind) ?><?cs  
     73  set:ndiffs = len(item.diff) ?><?cs 
     74  set:nprops = len(item.props) ?> 
     75  <div class="<?cs var:cl ?>"></div><?cs  
     76  if:cl == "rem" ?> 
     77   <a title="Show what was removed (rev. <?cs var:item.rev.old ?>)" href="<?cs 
     78     var:item.browser_href.old ?>"><?cs var:item.path.old ?></a><?cs 
     79  else ?> 
     80   <a title="Show entry in browser" href="<?cs 
     81     var:item.browser_href.new ?>"><?cs var:item.path.new ?></a><?cs 
     82  /if ?> 
     83  <span class="comment">(<?cs var:kind ?>)</span><?cs 
     84  if:item.path.old && item.change == 'copy' || item.change == 'move' ?> 
     85   <small><em>(<?cs var:kind ?> from <a href="<?cs 
     86    var:item.browser_href.old ?>" title="Show original file (rev. <?cs 
     87    var:item.rev.old ?>)"><?cs var:item.path.old ?></a>)</em></small><?cs 
     88  /if ?><?cs 
     89  if:$ndiffs + $nprops > #0 ?> 
     90    (<a href="#file<?cs var:name(item) ?>" title="Show differences"><?cs 
     91      if:$ndiffs > #0 ?><?cs var:ndiffs ?>&nbsp;diff<?cs if:$ndiffs > #1 ?>s<?cs /if ?><?cs  
     92      /if ?><?cs 
     93      if:$ndiffs && $nprops ?>, <?cs /if ?><?cs  
     94      if:$nprops > #0 ?><?cs var:nprops ?>&nbsp;prop<?cs if:$nprops > #1 ?>s<?cs /if ?><?cs 
     95      /if ?></a>)<?cs 
     96  elif:cl == "mod" ?> 
     97    (<a href="<?cs var:item.browser_href.old ?>" 
     98        title="Show previous version in browser">previous</a>)<?cs 
     99  /if ?> 
     100<?cs /def ?> 
     101 
    66102<dl id="overview"> 
    67103 <dt class="time">Timestamp:</dt> 
     
    72108 <dd class="message" id="searchable"><?cs var:changeset.message ?></dd> 
    73109 <dt class="files">Files:</dt> 
    74  <dd class="files"><?cs set:anchor_idx = #0 ?> 
     110 <dd class="files"> 
    75111  <ul><?cs each:item = changeset.changes ?> 
    76    <li> 
    77     <?cs if:item.change == "A" ?> 
    78      <div class="add"></div> 
    79      <a href="<?cs var:item.browser_href ?>" title="Show file in browser"><?cs 
    80        var:item.name ?></a> <span class="comment">(added)</span> 
    81     <?cs elif:item.change == "M" ?> 
    82      <div class="mod"></div> 
    83      <a href="<?cs var:item.browser_href ?>" title="Show file in browser"><?cs 
    84        var:item.name ?></a> <span class="comment">(modified)</span><?cs 
    85      if:len(changeset.diff.files[anchor_idx].changes) ?> 
    86       (<a href="#file<?cs var:anchor_idx ?>" title="Show differences">diff</a>)<?cs 
    87      /if ?><?cs set:anchor_idx = anchor_idx + #1 ?> 
    88     <?cs elif:item.change == "D" ?> 
    89      <div class="rem"></div> 
    90      <?cs var:item.name ?> <span class="comment">(deleted)</span> 
    91     <?cs /if ?> 
     112   <li><?cs 
     113    if:item.change == 'add' ?><?cs 
     114     call:node_change(item, 'add', 'added') ?><?cs 
     115    elif:item.change == 'delete' ?><?cs 
     116     call:node_change(item, 'rem', 'deleted') ?><?cs 
     117    elif:item.change == 'copy' ?><?cs 
     118     call:node_change(item, 'cp', 'copied') ?><?cs 
     119    elif:item.change == 'move' ?><?cs 
     120     call:node_change(item, 'mv', 'moved') ?><?cs 
     121    elif:item.change == 'edit' ?><?cs 
     122     call:node_change(item, 'mod', 'modified') ?><?cs 
     123    /if ?> 
    92124   </li> 
    93125  <?cs /each ?></ul> 
     
    103135   <dt class="rem"></dt><dd>Removed</dd> 
    104136   <dt class="mod"></dt><dd>Modified</dd> 
     137   <dt class="cp"></dt><dd>Copied</dd> 
     138   <dt class="mv"></dt><dd>Moved</dd> 
    105139  </dl> 
    106140 </div> 
    107  <ul> 
    108   <?cs each:file = changeset.diff.files ?> 
    109    <?cs if:len(file.changes) ?> 
    110     <li id="file<?cs var:name(file) ?>"> 
    111      <h2><a href="<?cs 
    112        var:file.browser_href.new ?>" title="Show version <?cs 
    113        var:file.rev.new ?> of this file in browser"><?cs 
    114        var:file.name.new ?></a></h2> 
    115      <?cs if:diff.style == 'sidebyside' ?> 
    116       <table class="sidebyside" summary="Differences" cellspacing="0"> 
    117        <colgroup class="base"> 
    118         <col class="lineno" /><col class="content" /> 
    119        <colgroup class="chg"> 
    120         <col class="lineno" /><col class="content" /> 
    121        </colgroup> 
    122        <thead><tr> 
    123         <th colspan="2"><a href="<?cs var:file.browser_href.old ?>">Revision <?cs 
    124           var:file.rev.old ?></a></th> 
    125         <th colspan="2"><a href="<?cs var:file.browser_href.new ?>">Revision <?cs 
    126           var:file.rev.new ?></a></th> 
    127        </tr></thead> 
    128        <?cs each:change = file.changes ?> 
    129         <tbody> 
    130          <?cs call:diff_display(change, diff.style) ?> 
    131         </tbody> 
    132         <?cs if:name(change) < len(file.changes) - 1 ?> 
    133          <tbody class="skippedlines"> 
    134           <tr><th>&hellip;</th><td>&nbsp;</td> 
    135           <th>&hellip;</th><td>&nbsp;</td></tr> 
    136          </tbody> 
    137         <?cs /if ?> 
    138        <?cs /each ?> 
    139       </table> 
    140      <?cs else ?> 
    141       <table class="inline" summary="Differences" cellspacing="0"> 
    142        <colgroup> 
    143         <col class="lineno" /> 
    144         <col class="lineno" /> 
    145         <col class="content" /> 
    146        </colgroup> 
    147        <thead><tr> 
    148         <th title="Revision <?cs var:file.rev.old ?>"><a href="<?cs 
    149           var:file.browser_href.old ?>" title="Show revision <?cs 
    150           var:file.rev.old ?> of this file in browser">r<?cs 
    151           var:file.rev.old ?></a></th> 
    152         <th title="Revision <?cs var:file.rev.new ?>"><a href="<?cs 
    153           var:file.browser_href.new ?>" title="Show revision <?cs 
    154           var:file.rev.new ?> of this file in browser">r<?cs 
    155           var:file.rev.new ?></a></th> 
    156         <th>&nbsp;</th> 
    157        </tr></thead> 
    158        <?cs each:change = file.changes ?> 
    159         <?cs call:diff_display(change, diff.style) ?> 
    160         <?cs if:name(change) < len(file.changes) - 1 ?> 
    161          <tbody class="skippedlines"> 
    162           <tr><th>&hellip;</th><th>&hellip;</th><td>&nbsp;</td></tr> 
    163          </tbody> 
    164         <?cs /if ?> 
    165        <?cs /each ?> 
    166       </table> 
    167      <?cs /if ?> 
    168     </li> 
    169    <?cs /if ?> 
    170   <?cs /each ?> 
    171  </ul> 
     141 <ul class="entries"><?cs 
     142 each:item = changeset.changes ?><?cs 
     143  if:len(item.diff) || len(item.props) ?><li class="entry" id="file<?cs 
     144   var:name(item) ?>"><h2><a href="<?cs 
     145   var:item.browser_href.new ?>" title="Show new revision <?cs 
     146   var:item.rev.new ?> of this file in browser"><?cs 
     147   var:item.path.new ?></a></h2><?cs 
     148   if:len(item.props) ?><ul class="props"><?cs 
     149    each:prop = item.props ?><li>Property <strong><?cs 
     150     var:name(prop) ?></strong> <?cs 
     151     if:prop.old && prop.new ?>changed from <?cs 
     152     elif:!prop.old ?>set<?cs 
     153     else ?>deleted<?cs 
     154     /if ?><?cs 
     155     if:prop.old && prop.new ?><em><tt><?cs var:prop.old ?></tt></em><?cs /if ?><?cs 
     156     if:prop.new ?> to <em><tt><?cs var:prop.new ?></tt></em><?cs /if ?></li><?cs 
     157    /each ?></ul><?cs 
     158   /if ?><?cs 
     159   if:len(item.diff) ?><table class="<?cs 
     160    var:diff.style ?>" summary="Differences" cellspacing="0"><?cs 
     161    if:diff.style == 'sidebyside' ?> 
     162     <colgroup class="l"><col class="lineno" /><col class="content" /></colgroup> 
     163     <colgroup class="r"><col class="lineno" /><col class="content" /></colgroup> 
     164     <thead><tr> 
     165      <th colspan="2"><a href="<?cs 
     166       var:item.browser_href.old ?>" title="Show old rev. <?cs 
     167       var:item.rev.old ?> of <?cs var:item.path.old ?>">Revision <?cs 
     168       var:item.rev.old ?></a></th> 
     169      <th colspan="2"><a href="<?cs 
     170       var:item.browser_href.new ?>" title="Show new rev. <?cs 
     171       var:item.rev.old ?> of <?cs var:item.path.new ?>">Revision <?cs 
     172       var:item.rev.new ?></a></th> 
     173      </tr> 
     174     </thead><?cs 
     175     each:change = item.diff ?><tbody><?cs 
     176      call:diff_display(change, diff.style) ?></tbody><?cs 
     177      if:name(change) < len(item.diff) - 1 ?><tbody class="skipped"><tr> 
     178       <th>&hellip;</th><td>&nbsp;</td><th>&hellip;</th><td>&nbsp;</td> 
     179      </tr></tbody><?cs /if ?><?cs 
     180     /each ?><?cs 
     181    else ?> 
     182     <colgroup><col class="lineno" /><col class="lineno" /><col class="content" /></colgroup> 
     183     <thead><tr> 
     184      <th title="Revision <?cs var:item.rev.old ?>"><a href="<?cs 
     185       var:item.browser_href.old ?>" title="Show old version of <?cs 
     186       var:item.path.old ?>">r<?cs var:item.rev.old ?></a></th> 
     187      <th title="Revision <?cs var:item.rev.new ?>"><a href="<?cs 
     188       var:item.browser_href.new ?>" title="Show new version of <?cs 
     189       var:item.path.new ?>">r<?cs var:item.rev.new ?></a></th> 
     190      <th>&nbsp;</th></tr> 
     191     </thead><?cs 
     192     each:change = item.diff ?><?cs 
     193      call:diff_display(change, diff.style) ?><?cs 
     194      if:name(change) < len(item.diff) - 1 ?><tbody class="skipped"><tr> 
     195       <th>&hellip;</th><th>&hellip;</th><td>&nbsp;</td> 
     196      </tr></tbody><?cs /if ?><?cs 
     197     /each ?><?cs 
     198    /if ?></table><?cs 
     199   /if ?></li><?cs 
     200  /if ?><?cs 
     201 /each ?></ul> 
    172202</div> 
    173203 
  • djangoproject.com/django_website/templates/trac_templates/header.cs

    r553 r559  
    2727 
    2828        <style type="text/css"> 
    29          <?cs if:html.stylesheet ?>@import url(http://media.djangoproject.com/trac/<?cs 
    30            var:html.stylesheet ?>);<?cs /if ?> 
     29         <?cs if:html.stylesheet ?>@import url(http://media.djangoproject.com/trac/<?cs var:html.stylesheet ?>);<?cs /if ?> 
     30         <?cs if:html.stylesheet2 ?>@import url(http://media.djangoproject.com/trac/<?cs var:html.stylesheet2 ?>);<?cs /if ?> 
    3131         <?cs include "site_css.cs" ?> 
    3232        </style> 
  • djangoproject.com/django_website/templates/trac_templates/log.cs

    r553 r559  
    66 <ul> 
    77  <li class="last"><a href="<?cs 
    8     var:log.items.0.file_href ?>">View Latest Revision</a></li> 
     8    var:log.browser_href ?>">View Latest Revision</a></li><?cs 
     9  if:len(chrome.links.prev) ?> 
     10   <li class="first<?cs if:!len(chrome.links.next) ?> last<?cs /if ?>"> 
     11    &larr; <a href="<?cs var:chrome.links.prev.0.href ?>" title="<?cs 
     12      var:chrome.links.prev.0.title ?>">Newer Revisions</a> 
     13   </li><?cs 
     14  /if ?><?cs 
     15  if:len(chrome.links.next) ?> 
     16   <li class="<?cs if:!len(chrome.links.prev) ?>first <?cs /if ?>last"> 
     17    <a href="<?cs var:chrome.links.next.0.href ?>" title="<?cs 
     18      var:chrome.links.next.0.title ?>">Older Revisions</a> &rarr; 
     19   </li><?cs 
     20  /if ?> 
    921 </ul> 
    1022</div> 
    1123 
     24 
    1225<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" /> 
     26 <h1><?cs call:browser_path_links(log.path, log) ?></h1> 
     27 <form id="prefs" action="<?cs var:browser_current_href ?>" method="get"> 
     28  <div> 
     29   <input type="hidden" name="action" value="<?cs var:log.mode ?>" /> 
     30   <label>View log starting at <input type="text" id="rev" name="rev" value="<?cs 
     31    var:log.items.0.rev ?>" size="5" /></label> 
     32   <label>and back to <input type="text" id="stop_rev" name="stop_rev" value="<?cs 
     33    var:log.stop_rev ?>" size="5" /></label> 
     34   <br /> 
     35   <div class="choice" ?> 
     36    <fieldset> 
     37     <legend>Mode:</legend> 
     38     <label for="stop_on_copy"> 
     39      <input type="radio" id="stop_on_copy" name="mode" value="stop_on_copy" <?cs 
     40       if:log.mode != "follow_copy" || log.mode != "path_history" ?> checked="checked" <?cs 
     41       /if ?> /> 
     42      Stop on copy  
     43     </label> 
     44     <label for="follow_copy"> 
     45      <input type="radio" id="follow_copy" name="mode" value="follow_copy" <?cs 
     46       if:log.mode == "follow_copy" ?> checked="checked" <?cs /if ?> /> 
     47      Follow copies 
     48     </label> 
     49     <label for="path_history"> 
     50      <input type="radio" id="path_history" name="mode" value="path_history" <?cs 
     51       if:log.mode == "path_history" ?> checked="checked" <?cs /if ?> /> 
     52      Show only adds, moves and deletes 
     53     </label> 
     54    </fieldset> 
    2155   </div> 
    22   </form> 
     56   <label><input type="checkbox" name="verbose" <?cs 
     57    if:log.verbose ?> checked="checked" <?cs 
     58    /if ?> /> Show full log messages</label> 
     59  </div> 
     60  <div class="buttons"> 
     61   <input type="submit" value="Update"  
     62          title="Warning: by updating, you will clear the page history" /> 
     63  </div> 
     64 </form> 
     65 <div class="diff"> 
     66  <div id="legend"> 
     67   <h3>Legend:</h3> 
     68   <dl> 
     69    <dt class="add"></dt><dd>Added</dd><?cs 
     70    if:log.mode == "path_history" ?> 
     71     <dt class="rem"></dt><dd>Removed</dd><?cs 
     72    /if ?> 
     73    <dt class="mod"></dt><dd>Modified</dd> 
     74    <dt class="cp"></dt><dd>Copied or renamed</dd> 
     75   </dl> 
     76  </div> 
    2377 </div> 
    24  
    2578 <table id="chglist" class="listing"> 
    2679  <thead> 
    2780   <tr> 
     81    <th class="change"></th> 
    2882    <th class="data">Date</th> 
    2983    <th class="rev">Rev</th> 
     
    3387   </tr> 
    3488  </thead> 
    35   <tbody> 
    36    <?cs each:item = log.items ?> 
     89  <tbody><?cs 
     90   set:indent = #1 ?><?cs 
     91   each:item = log.items ?><?cs 
     92    if:item.copyfrom_path ?> 
     93     <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
     94      <td class="copyfrom_path" colspan="6" style="padding-left: <?cs var:indent ?>em"> 
     95       copied from <a href="<?cs var:item.browser_href ?>"?><?cs var:item.copyfrom_path ?></a>: 
     96      </td> 
     97     </tr><?cs 
     98     set:indent = indent + #1 ?><?cs 
     99    elif:log.mode == "path_history" ?><?cs 
     100      set:indent = #1 ?><?cs 
     101    /if ?> 
    37102    <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
    38      <td class="date"><?cs var:item.date ?></td> 
     103     <td class="change" style="padding-left:<?cs var:indent ?>em"> 
     104      <a title="View log starting at this revision" href="<?cs var:item.log_href ?>"> 
     105       <div class="<?cs var:item.change ?>"></div> 
     106       <span class="comment">(<?cs var:item.change ?>)</span> 
     107      </a> 
     108     </td> 
     109     <td class="date"><?cs var:log.changes[item.rev].date ?></td> 
    39110     <td class="rev"> 
    40       <a href="<?cs var:item.file_href ?>"><?cs var:item.rev ?></a> 
     111      <a href="<?cs var:item.browser_href ?>"><?cs var:item.rev ?></a> 
    41112     </td> 
    42113     <td class="chgset"> 
    43       <a class="block-link" href="<?cs var:item.changeset_href ?>"><?cs var:item.rev ?></a> 
     114      <a href="<?cs var:item.changeset_href ?>"><?cs var:item.rev ?></a> 
    44115     </td> 
    45      <td class="author"><?cs var:item.author ?></td> 
    46      <td class="summary"><?cs var:item.log ?></td> 
    47     </tr> 
    48    <?cs /each ?> 
     116     <td class="author"><?cs var:log.changes[item.rev].author ?></td> 
     117     <td class="summary"><?cs var:log.changes[item.rev].message ?></td> 
     118    </tr><?cs 
     119   /each ?> 
    49120  </tbody> 
    50  </table> 
     121 </table><?cs 
     122 if:len(links.prev) || len(links.next) ?><div id="paging" class="nav"><ul><?cs 
     123  if:len(links.prev) ?><li class="first<?cs 
     124   if:!len(links.next) ?> last<?cs /if ?>">&larr; <a href="<?cs 
     125   var:links.prev.0.href ?>" title="<?cs 
     126   var:links.prev.0.title ?>">Younger Revisions</a></li><?cs 
     127  /if ?><?cs 
     128  if:len(links.next) ?><li class="<?cs 
     129   if:len(links.prev) ?>first <?cs /if ?>last"><a href="<?cs 
     130   var:links.next.0.href ?>" title="<?cs 
     131   var:links.next.0.title ?>">Older Revisions</a> &rarr;</li><?cs 
     132  /if ?></ul></div><?cs 
     133 /if ?> 
    51134 
    52135</div> 
  • djangoproject.com/django_website/templates/trac_templates/log_rss.cs

    r553 r559  
    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

    <
    r553 r559  
    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 
    119/def?> 
    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 
     11<?cs 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 
    2118/def ?> 
    2219 
    2320<?cs def:browser_path_links(path, file) ?><?cs 
    24  set:first = #1 ?> 
    25  <h1><?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 ?> 
    3731 
    38 <?cs def:diff_display(change, style) ?><?cs 
     32<?cs 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 ?> 
     41 
     42<?cs def: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