Changeset 394

Show
Ignore:
Timestamp:
01/22/06 17:16:56 (3 years ago)
Author:
eblot
Message:

TracFrenchTranslation:

Updated to trunk:2823(Trac 0.10-pre)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • tracfrenchtranslation/0.9/htdocs/css/browser.css

    r216 r394  
    5454#dirlist td.change { font-size: 85%; vertical-align: middle; white-space: nowrap } 
    5555 
     56/* Log */ 
     57tr.diff input {  
     58 padding: 0 1em 0 1em; 
     59 margin: 0;  
     60} 
     61 
     62div.buttons { 
     63 clear: left; 
     64} 
     65 
     66#anydiff { 
     67 margin: 0 0 1em; 
     68 float: left; 
     69} 
     70#anydiff form, #anydiff div, #anydiff h2 { 
     71 display: inline; 
     72} 
     73#anydiff input {  
     74 vertical-align: baseline; 
     75 margin: 0 -0.5em 0 1em; 
     76} 
     77 
     78 
    5679/* Styles for the revision log table 
    5780   (extends the styles for "table.listing") */ 
     
    6386 width: .8em; height: .8em; 
    6487} 
     88#chglist td.diff { white-space: nowrap } 
    6589#chglist td.change .comment { display: none } 
    6690#chglist td.old_path { font-style: italic } 
  • tracfrenchtranslation/0.9/htdocs/css/changeset.css

    r160 r394  
    2727.diff ul.props { font-size: 90%; list-style: disc; margin: .5em 0 0; padding: 0 .5em 1em 2em } 
    2828.diff ul.props li { margin: 0; padding: 0 } 
     29 
     30 
     31#title dl { 
     32 display: inline; 
     33 font-size: 110% 
     34} 
     35#title dt {  
     36  font-size: 110%; 
     37  font-weight: bold; 
     38  display: inline;  
     39  margin-left: 3em; 
     40} 
     41#title dd {  
     42  display: inline; 
     43  margin-left: 0.4em; 
     44} 
  • tracfrenchtranslation/0.9/templates/browser.cs

    r216 r394  
    44<div id="ctxtnav" class="nav"> 
    55 <ul> 
    6   <li class="last"><a href="<?cs var:browser.log_href ?>">Journal des révisions</a></li> 
     6  <li class="first"><a href="<?cs var:browser.restr_changeset_href ?>"> 
     7   DerniÚres modifications</a></li> 
     8  <li class="last"><a href="<?cs var:browser.log_href ?>"> 
     9   Journal des révisions</a></li> 
    710 </ul> 
    811</div> 
     12 
    913 
    1014<div id="content" class="browser"> 
     
    1216 
    1317 <div id="jumprev"> 
    14   <form action="" method="get"><div> 
    15    <label for="rev">Voir la révision:</label> 
     18  <form action="" method="get"> 
     19   <div> 
     20    <label for="rev">Voir la révision:</label> 
    1621    <input type="text" id="rev" name="rev" value="<?cs 
    17       var:browser.revision?>" size="4" /> 
    18   </div></form> 
     22       var:browser.revision ?>" size="4" /> 
     23   </div> 
     24  </form> 
    1925 </div> 
    2026 
     
    115121 </div> 
    116122 
     123  <div id="anydiff"> 
     124   <form action="<?cs var:browser.anydiff_href ?>" method="get"> 
     125    <input type="hidden" name="new_path" value="<?cs var:browser.path ?>" /> 
     126    <input type="hidden" name="old_path" value="<?cs var:browser.path ?>" /> 
     127    <input type="hidden" name="new_rev" value="<?cs var:browser.revision ?>" /> 
     128    <input type="hidden" name="old_rev" value="<?cs var:browser.revision ?>" /> 
     129    <div class="buttons"> 
     130     <input type="submit" value="Voir les modifications"  
     131         title="Préparer un fichier de différences" /> 
     132    </div> 
     133   </form> 
     134  </div> 
     135 
    117136</div> 
    118137<?cs include:"footer.cs"?> 
  • tracfrenchtranslation/0.9/templates/changeset.cs

    r274 r394  
    33 
    44<div id="ctxtnav" class="nav"> 
    5  <h2>Consultation des versions</h2><?cs 
     5 <h2>Navigation</h2><?cs 
    66 with:links = chrome.links ?> 
    7   <ul> 
    8    <li class="first"> 
    9     <?cs if:len(links.prev) ?> &larr;  
    10      <a class="prev" href="<?cs var:links.prev.0.href ?>" title="<?cs 
    11       var:links.prev.0.title ?>">Version précédente</a> 
    12      <?cs else ?><span class="missing">&larr; Version précédente</span><?cs /if ?> 
    13    </li> 
    14    <li class="last"> 
    15     <?cs if:len(links.next) ?> 
    16      <a class="next" href="<?cs var:links.next.0.href ?>" title="<?cs 
    17       var:links.next.0.title ?>">Version suivante</a> &rarr; 
    18     <?cs else ?><span class="missing">Version suivante &rarr;</span><?cs /if ?> 
    19    </li> 
     7  <ul><?cs 
     8   if:changeset.chgset ?><?cs 
     9    if:changeset.restricted ?><?cs 
     10     set:change = "Change" ?><?cs 
     11    else ?><?cs  
     12     set:change = "Changeset" ?><?cs 
     13    /if ?> 
     14    <li class="first"><?cs 
     15     if:len(links.prev) ?> &larr;  
     16      <a class="prev" href="<?cs var:links.prev.0.href ?>" title="<?cs 
     17        var:links.prev.0.title ?>"><?cs alt:translation[change] ?><?cs  
     18        var:change ?><?cs /alt?> précédente</a> <?cs  
     19     else ?> 
     20      <span class="missing">&larr; <?cs alt:translation[change] ?><?cs  
     21        var:change ?><?cs /alt?> précédente</span><?cs  
     22     /if ?> 
     23    </li> 
     24    <li class="last"><?cs 
     25     if:len(links.next) ?> 
     26      <a class="next" href="<?cs var:links.next.0.href ?>" title="<?cs 
     27       var:links.next.0.title ?>"><?cs alt:translation[change] ?><?cs  
     28        var:change ?><?cs /alt?> suivante</a> &rarr; <?cs  
     29     else ?> 
     30      <span class="missing"><?cs alt:translation[change] ?><?cs  
     31        var:change ?><?cs /alt?> suivante &rarr;</span><?cs 
     32     /if ?> 
     33    </li><?cs 
     34   else ?> 
     35    <li class="first"><a href="<?cs var:changeset.reverse_href ?>">Diff inverse</a></li><?cs 
     36   /if ?> 
    2037  </ul><?cs 
    2138 /with ?> 
     
    2340 
    2441<div id="content" class="changeset"> 
    25 <h1>Version <?cs var:changeset.revision ?></h1> 
     42 <div id="title"><?cs 
     43  if:changeset.chgset ?><?cs 
     44   if:changeset.restricted ?> 
     45    <h1>Version <a title="Afficher l'ensemble des changements" href="<?cs var:changeset.href.new_rev ?>"> 
     46      <?cs var:changeset.new_rev ?></a>  
     47     pour <a title="Afficher l'élément dans le navigateur" href="<?cs var:changeset.href.new_path ?>"> 
     48      <?cs var:changeset.new_path ?></a>  
     49    </h1><?cs 
     50   else ?> 
     51    <h1>Changeset <?cs var:changeset.new_rev ?></h1><?cs 
     52   /if ?><?cs 
     53  else ?><?cs 
     54    if:changeset.restricted ?> 
     55    <h1>Modifications dans <a title="Afficher l'élément dans le navigateur" href="<?cs var:changeset.href.new_path ?>"> 
     56      <?cs var:changeset.new_path ?></a> 
     57      <a title="Afficher le journal des révisions" href="<?cs var:changeset.href.log ?>"> 
     58      [<?cs var:changeset.old_rev ?>:<?cs var:changeset.new_rev ?>]</a> 
     59    </h1><?cs 
     60   else ?> 
     61    <h1>Modification de <a title="Show entry in browser" href="<?cs var:changeset.href.old_path ?>"> 
     62      <?cs var:changeset.old_path ?></a>  
     63     Ã  <a title="Afficher l'ensemble des changements" href="<?cs var:changeset.href.old_rev ?>"> 
     64      r<?cs var:changeset.old_rev ?></a> 
     65     vers <a title="Afficher l'élément dans le navigateur" href="<?cs var:changeset.href.new_path ?>"> 
     66     <?cs var:changeset.new_path ?></a>  
     67     Ã  <a title="Afficher l'ensemble des changements" href="<?cs var:changeset.href.new_rev ?>"> 
     68     r<?cs var:changeset.new_rev ?></a> 
     69    </h1><?cs 
     70   /if ?><?cs 
     71  /if ?> 
     72 </div> 
    2673 
    2774<?cs each:change = changeset.changes ?><?cs 
     
    3279  || diff.options.ignorecase || diff.options.ignorewhitespace ?> 
    3380<form method="post" id="prefs" action=""> 
    34  <div> 
     81 <div><?cs  
     82  if:!changeset.chgset ?> 
     83   <input type="hidden" name="old_path" value="<?cs var:changeset.old_path ?>" /> 
     84   <input type="hidden" name="path" value="<?cs var:changeset.new_path ?>" /> 
     85   <input type="hidden" name="old" value="<?cs var:changeset.old_rev ?>" /> 
     86   <input type="hidden" name="new" value="<?cs var:changeset.new_rev ?>" /><?cs 
     87  /if ?> 
    3588  <label for="style">Voir les différences</label> 
    3689  <select id="style" name="style"> 
     
    101154<?cs /def ?> 
    102155 
    103 <dl id="overview"> 
     156<dl id="overview"><?cs 
     157 if:changeset.chgset ?> 
    104158 <dt class="time">Date:</dt> 
    105159 <dd class="time"><?cs var:changeset.time ?>  
     
    109163 <dt class="message">Message:</dt> 
    110164 <dd class="message" id="searchable"><?cs 
    111   alt:changeset.message ?>&nbsp;<?cs /alt ?></dd> 
    112  <dt class="files">Fichiers:</dt> 
     165  alt:changeset.message ?>&nbsp;<?cs /alt ?></dd><?cs 
     166 /if ?> 
     167 <dt class="files"><?cs  
     168  if:len(changeset.changes) > #0 ?> 
     169   Fichiers:<?cs 
     170  else ?> 
     171   (Pas de fichier)<?cs 
     172  /if ?> 
     173 </dt> 
    113174 <dd class="files"> 
    114175  <ul><?cs each:item = changeset.changes ?> 
  • tracfrenchtranslation/0.9/templates/log.cs

    r216 r394  
    44<div id="ctxtnav" class="nav"> 
    55 <ul> 
    6   <li class="last"><a href="<?cs 
    7     var:log.browser_href ?>">Voir la derniÚre révision</a></li><?cs 
     6  <li class="last"> 
     7   <a href="<?cs var:log.browser_href ?>">Voir la derniÚre révision</a> 
     8  </li><?cs 
    89  if:len(chrome.links.prev) ?> 
    910   <li class="first<?cs if:!len(chrome.links.next) ?> last<?cs /if ?>"> 
     
    6263  </div> 
    6364 </form> 
     65 
    6466 <div class="diff"> 
    6567  <div id="legend"> 
     
    7577  </div> 
    7678 </div> 
     79 
     80 <form action="<?cs var:log.changeset_href ?>" method="get"> 
     81  <div class="buttons"><input type="submit" value="Voir les modifications"  
     82       title="Différences entre ancienne et nouvelle révision (sélectionnez-les en dessous)" /> 
     83 </div> 
    7784 <table id="chglist" class="listing"> 
    7885  <thead> 
    7986   <tr> 
     87    <th class="diff"></th> 
    8088    <th class="change"></th> 
    8189    <th class="data">Date</th> 
     
    8896  <tbody><?cs 
    8997   set:indent = #1 ?><?cs 
     98   set:idx = #0 ?><?cs 
    9099   each:item = log.items ?><?cs 
    91100    if:item.copyfrom_path ?> 
    92101     <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"> 
     102      <td class="copyfrom_path" colspan="8" style="padding-left: <?cs var:indent ?>em"> 
    94103       copié depuis <a href="<?cs var:item.browser_href ?>"?><?cs var:item.copyfrom_path ?></a>: 
    95104      </td> 
     
    100109    /if ?> 
    101110    <tr class="<?cs if:name(item) % #2 ?>even<?cs else ?>odd<?cs /if ?>"> 
     111     <td class="diff"> 
     112      <input type="radio" name="old"  
     113             value="<?cs var:item.path ?>@<?cs var:item.rev ?>" <?cs 
     114          if:idx == #1 ?> checked="checked" <?cs /if ?> /> 
     115      <input type="radio" name="new"  
     116             value="<?cs var:item.path ?>@<?cs var:item.rev ?>" <?cs 
     117          if:idx == #0 ?> checked="checked" <?cs /if ?> /></td> 
    102118     <td class="change" style="padding-left:<?cs var:indent ?>em"> 
    103119      <a title="Voir le journal en commencant à partir de la révision" href="<?cs var:item.log_href ?>"> 
     
    109125     <td class="rev"> 
    110126      <a href="<?cs var:item.browser_href ?>"  
    111          title="Explorer la révision <?cs var:item.rev ?>">@<?cs var:item.rev ?></a> 
     127         title="Consultez la révision <?cs var:item.rev ?>">@<?cs var:item.rev ?></a> 
    112128     </td> 
    113129     <td class="chgset"> 
     
    118134     <td class="summary"><?cs var:log.changes[item.rev].message ?></td> 
    119135    </tr><?cs 
     136    set:idx = idx + 1 ?><?cs 
    120137   /each ?> 
    121138  </tbody> 
    122139 </table><?cs 
     140 if:len(log.items) > #10 ?> 
     141  <div class="buttons"><input type="submit" value="View changes"  
     142       title="Différences entre ancienne et nouvelle révision (sélectionnez-les en dessous)" /> 
     143  </div><?cs 
     144 /if ?> 
     145 </form><?cs 
    123146 if:len(links.prev) || len(links.next) ?><div id="paging" class="nav"><ul><?cs 
    124147  if:len(links.prev) ?><li class="first<?cs 
  • tracfrenchtranslation/0.9/templates/log_rss.cs

    r160 r394  
    1414  each:item = log.items ?><?cs  
    1515   with:change = log.changes[item.rev] ?> 
    16     <item> 
    17      <author><?cs var:change.author ?></author>  
     16    <item><?cs 
     17     if:change.author ?><author><?cs var:change.author ?></author><?cs 
     18     /if ?> 
    1819     <pubDate><?cs var:change.date ?></pubDate> 
    1920     <title>Révision <?cs var:item.rev ?>: <?cs var:change.shortlog ?></title> 
    20      <link><?cs var:base_host ?><?cs var:item.changeset_href ?></link> 
     21     <link><?cs var:base_host ?><?cs var:item.restricted_href ?></link> 
    2122     <description><?cs var:change.message ?></description> 
    2223     <category>Journal</category> 
  • tracfrenchtranslation/0.9/templates/query_rss.cs

    r160 r394  
    77   <title>Ticket Query</title><?cs 
    88  /if ?> 
    9   <link><?cs var:base_host ?><?cs var:trac.href.query ?></link><?cs 
     9  <link><?cs var:query.href ?></link><?cs 
    1010  if:project.descr ?> 
    1111   <description><?cs var:project.descr ?></description><?cs 
  • tracfrenchtranslation/0.9/templates/wiki.cs

    r160 r394  
    155155  <?cs if:len(wiki.history) ?><form method="get" action=""> 
    156156   <input type="hidden" name="action" value="diff" /> 
     157   <div class="buttons"> 
     158    <input type="submit" value="Voir les modifications" /> 
     159   </div> 
    157160   <table id="wikihist" class="listing" summary="Historique des modifications"> 
    158161    <thead><tr> 
     
    181184     </tr> 
    182185    <?cs /each ?></tbody> 
    183    </table> 
    184    <div class="buttons"> 
    185     <input type="submit" value="Voir les modifications" /> 
    186    </div> 
     186   </table><?cs 
     187   if:len(wiki.history) > #10 ?> 
     188    <div class="buttons"> 
     189     <input type="submit" value="Voir les modifications" /> 
     190    </div><?cs 
     191   /if ?> 
    187192  </form><?cs /if ?> 
    188193  
  • tracfrenchtranslation/0.9/trac/db_default.py

    r293 r394  
    432432  ('notification', 'smtp_from', 'trac@localhost'), 
    433433  ('notification', 'smtp_replyto', 'trac@localhost'), 
     434  ('notification', 'mime_encoding', 'qp'), 
     435  ('notification', 'allow_public_cc', 'false'), 
    434436  ('timeline', 'default_daysback', '30'), 
    435437  ('timeline', 'changeset_show_files', '0'), 
     
    467469  ('translation', 'created', 'créé'), 
    468470  ('translation', 'modified', 'modifié'), 
     471  ('translation', 'change', 'modification'), 
     472  ('translation', 'changeset', 'version') 
    469473) 
    470474 
  • tracfrenchtranslation/0.9/trac/db/pool.py

    r160 r394  
    5454        self._dormant = [] # inactive connections in pool 
    5555        self._active = {} # active connections by thread ID 
    56         self._available = threading.Condition(threading.RLock()) 
     56        self._available = threading.Condition(threading.Lock()) 
    5757        self._maxsize = maxsize # maximum pool size 
    5858        self._cursize = 0 # current pool size, includes active connections 
  • tracfrenchtranslation/0.9/trac/__init__.py

    r293 r394  
    1111__docformat__ = 'epytext en' 
    1212 
    13 __version__ = '1.0dev' 
     13__version__ = '0.10dev' 
    1414__url__ = 'http://trac.edgewall.com/' 
    1515__copyright__ = '(C) 2003-2006 Edgewall Software' 
  • tracfrenchtranslation/0.9/trac/mimeview/api.py

    r293 r394  
    332332    """Tracks open and close tags in lines of HTML text and yields lines that 
    333333    have no tags spanning more than one line.""" 
    334     open_tag_re = re.compile(r'<(\w+)\s.*?[^/]?>') 
     334    open_tag_re = re.compile(r'<(\w+)(\s.*)?[^/]?>') 
    335335    close_tag_re = re.compile(r'</(\w+)>') 
    336336    open_tags = [] 
     
    345345            open_tags.append(tag) 
    346346 
     347        open_tags.reverse() 
     348 
    347349        # Find all tags closed on this line 
    348350        for ctag in close_tag_re.finditer(line): 
  • tracfrenchtranslation/0.9/trac/mimeview/patch.py

    r293 r394  
    110110        output = [] 
    111111        filename, groups = None, None 
    112         for line in difflines: 
    113             if line.startswith('--- '): 
    114                 # Base filename/version 
    115                 words = line.split(None, 2) 
    116                 filename, fromrev = words[1], 'old' 
    117                 groups, blocks = None, None 
     112        lines = iter(difflines) 
     113        for line in lines: 
     114            if not line.startswith('--- '): 
    118115                continue 
    119             if line.startswith('+++ '): 
    120                 # Changed filename/version 
    121                 words = line.split(None, 2) 
    122                 if len(words[1]) < len(filename): 
    123                     # Always use the shortest filename for display 
    124                     filename = words[1] 
    125                 groups = [] 
    126                 output.append({'filename' : filename, 'oldrev' : fromrev, 
    127                                'newrev' : 'new', 'diff' : groups}) 
    128                 continue 
    129             # Lines to ignore 
    130             if line.startswith('Index: ') or line.startswith('======') or line == '': 
    131                 continue 
    132             if groups == None: 
     116 
     117            # Base filename/version 
     118            words = line.split(None, 2) 
     119            filename, fromrev = words[1], 'old' 
     120            groups, blocks = None, None 
     121 
     122            # Changed filename/version 
     123            line = lines.next() 
     124            if not line.startswith('+++ '): 
    133125                return None 
    134             # @@ -333,10 +329,8 @@ 
    135             if line.startswith('@@ '): 
    136                 r = re.match(r'@@ -(\d+),\d+ \+(\d+),\d+ @@', line) 
     126 
     127            words = line.split(None, 2) 
     128            if len(words[1]) < len(filename): 
     129                # Always use the shortest filename for display 
     130                filename = words[1] 
     131            groups = [] 
     132            output.append({'filename' : filename, 'oldrev' : fromrev, 
     133                           'newrev' : 'new', 'diff' : groups}) 
     134 
     135            for line in lines: 
     136                # @@ -333,10 +329,8 @@ 
     137                r = re.match(r'@@ -(\d+),(\d+) \+(\d+),(\d+) @@', line) 
    137138                if not r: 
    138                     return None 
     139                    break 
    139140                blocks = [] 
    140141                groups.append(blocks) 
    141                 fromline,toline = map(int, r.groups()) 
     142                fromline,fromend,toline,toend = map(int, r.groups()) 
    142143                last_type = None 
    143                 continue 
    144             if blocks == None: 
    145                 return None 
    146144 
    147             # First character is the command 
    148             command, line = line[0], line[1:] 
     145                fromend += fromline 
     146                toend += toline 
    149147 
    150             # Make a new block? 
    151             if (command == ' ') != last_type: 
    152                 last_type = command == ' ' 
    153                 blocks.append({'type': last_type and 'unmod' or 'mod', 
    154                                'base.offset': fromline - 1, 
    155                                'base.lines': [], 
    156                                'changed.offset': toline - 1, 
    157                                'changed.lines': []}) 
    158             if command == ' ': 
    159                 blocks[-1]['changed.lines'].append(line) 
    160                 blocks[-1]['base.lines'].append(line) 
    161                 fromline += 1 
    162                 toline += 1 
    163             elif command == '+': 
    164                 blocks[-1]['changed.lines'].append(line) 
    165                 toline += 1 
    166             elif command == '-': 
    167                 blocks[-1]['base.lines'].append(line) 
    168                 fromline += 1 
    169             else: 
    170                 return None 
     148                while fromline < fromend or toline < toend: 
     149                    line = lines.next() 
     150 
     151                    # First character is the command 
     152                    command, line = line[0], line[1:] 
     153                    # Make a new block? 
     154                    if (command == ' ') != last_type: 
     155                        last_type = command == ' ' 
     156                        blocks.append({'type': last_type and 'unmod' or 'mod', 
     157                                       'base.offset': fromline - 1, 
     158                                       'base.lines': [], 
     159                                       'changed.offset': toline - 1, 
     160                                       'changed.lines': []}) 
     161                    if command == ' ': 
     162                        blocks[-1]['changed.lines'].append(line) 
     163                        blocks[-1]['base.lines'].append(line) 
     164                        fromline += 1 
     165                        toline += 1 
     166                    elif command == '+': 
     167                        blocks[-1]['changed.lines'].append(line) 
     168                        toline += 1 
     169                    elif command == '-': 
     170                        blocks[-1]['base.lines'].append(line) 
     171                        fromline += 1 
     172                    else: 
     173                        return None 
    171174 
    172175        # Go through all groups/blocks and mark up intraline changes, and 
  • tracfrenchtranslation/0.9/trac/scripts/tests/admin-tests.txt

    r293 r394  
    11===== test_help_ok ===== 
    2 trac-admin - The Trac Administration Console 1.0dev 
     2trac-admin - The Trac Administration Console 0.10dev 
    33 
    44Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]] 
     
    434434Name  Time 
    435435---------- 
     4362.0        
    4364371.0        
    437 2.0        
    438438 
    439439===== test_version_add_ok ===== 
     
    441441Name  Time                     
    442442---------------- 
     4432.0                            
    4434441.0                            
    444 2.0                            
    4454459.9   2004-01-11 
    446446 
     
    451451Name  Time 
    452452---------- 
     4539.9        
    4534542.0        
    454 9.9        
    455455 
    456456===== test_version_rename_error_bad_version ===== 
     
    520520Name        Due  Completed 
    521521------------------------------------ 
     522milestone2       2004-01-11 00:00:00 
    522523milestone1 
    523 milestone2       2004-01-11 00:00:00 
    524524milestone3 
    525525milestone4 
  • tracfrenchtranslation/0.9/trac/test.py

    r293 r394  
    160160        return self.db 
    161161 
     162    def get_templates_dir(self): 
     163        return None 
     164 
     165    def get_known_users(self, db): 
     166        return [] 
     167 
    162168 
    163169def suite(): 
  • tracfrenchtranslation/0.9/trac/tests/__init__.py

    r293 r394  
    11import unittest 
    22 
    3 from trac.tests import attachment, config, core, env, perm, util 
     3from trac.tests import attachment, config, core, env, perm, util, notification 
    44 
    55def suite(): 
     
    1111    suite.addTest(perm.suite()) 
    1212    suite.addTest(util.suite()) 
     13    suite.addTest(notification.suite()) 
    1314    return suite 
    1415 
  • tracfrenchtranslation/0.9/trac/ticket/model.py

    r293 r394  
    11# -*- coding: utf-8 -*- 
    22# 
    3 # Copyright (C) 2003, 2004, 2005 Edgewall Software 
    4 # Copyright (C) 2003, 2004, 2005 Jonas Borgström <jonas@edgewall.com> 
     3# Copyright (C) 2003-2006 Edgewall Software 
     4# Copyright (C) 2003-2006 Jonas Borgström <jonas@edgewall.com> 
    55# Copyright (C) 2005 Christopher Lenz <cmlenz@gmx.de> 
     6# Copyright (C) 2006 Christian Boos <cboos@neuf.fr> 
    67# All rights reserved. 
    78# 
     
    1819 
    1920import time 
     21import sys 
    2022 
    2123from trac.core import TracError 
    2224from trac.ticket import TicketSystem 
     25from trac.util import sorted, embedded_numbers 
    2326 
    2427__all__ = ['Ticket', 'Type', 'Status', 'Resolution', 'Priority', 'Severity', 
     
    616619        if not include_completed: 
    617620            sql += "WHERE COALESCE(completed,0)=0 " 
    618         sql += "ORDER BY COALESCE(due,0)=0,due,name" 
    619621        cursor = db.cursor() 
    620622        cursor.execute(sql) 
     623        milestones = [] 
    621624        for name,due,completed,description in cursor: 
    622625            milestone = Milestone(env) 
     
    625628            milestone.completed = completed and int(completed) or 0 
    626629            milestone.description = description or '' 
    627             yield milestone 
     630            milestones.append(milestone) 
     631        def milestone_order(m): 
     632            return (m.completed or sys.maxint, 
     633                    m.due or sys.maxint, 
     634                    embedded_numbers(m.name)) 
     635        return sorted(milestones, key=milestone_order) 
    628636    select = classmethod(select) 
    629637 
     
    717725            db = env.get_db_cnx() 
    718726        cursor = db.cursor() 
    719         cursor.execute("SELECT name,time,description FROM version " 
    720                        "ORDER BY COALESCE(time,0),name") 
     727        cursor.execute("SELECT name,time,description FROM version") 
     728        versions = [] 
    721729        for name, time, description in cursor: 
    722             component = cls(env) 
    723             component.name = name 
    724             component.time = time and int(time) or None 
    725             component.description = description or '' 
    726             yield component 
     730            version = cls(env) 
     731            version.name = name 
     732            version.time = time and int(time) or None 
     733            version.description = description or '' 
     734            versions.append(version) 
     735        def version_order(v): 
     736            return (v.time or sys.maxint, embedded_numbers(v.name)) 
     737        return sorted(versions, key=version_order, reverse=True) 
    727738    select = classmethod(select) 
  • tracfrenchtranslation/0.9/trac/ticket/query.py

    r293 r394  
    11# -*- coding: utf-8 -*- 
    22# 
    3 # Copyright (C) 2004-2005 Edgewall Software 
     3# Copyright (C) 2004-2006 Edgewall Software 
    44# Copyright (C) 2004-2005 Christopher Lenz <cmlenz@gmx.de> 
     5# Copyright (C) 2005-2006 Christian Boos <cboos@neuf.fr> 
    56# All rights reserved. 
    67# 
     
    594595            if result['description']: 
    595596                # str() cancels out the Markup() returned by wiki_to_html 
    596                 result['description'] = str(wiki_to_html(result['description'] or ''
    597                                                          self.env, req, db, 
    598                                                          absurls=1)
     597                descr = wiki_to_html(result['description'], self.env, req, db
     598                                     absurls=True) 
     599                result['description'] = str(descr
    599600            if result['time']: 
    600601                result['time'] = http_date(result['time']) 
    601602        req.hdf['query.results'] = results 
     603        req.hdf['query.href'] = self.env.abs_href.query(group=query.group, 
     604                groupdesc=query.groupdesc and 1 or None, 
     605                verbose=query.verbose and 1 or None, 
     606                **query.constraints) 
    602607 
    603608    # IWikiSyntaxProvider methods 
  • tracfrenchtranslation/0.9/trac/ticket/report.py

    r293 r394  
    11# -*- coding: utf-8 -*- 
    22# 
    3 # Copyright (C) 2003-2005 Edgewall Software 
     3# Copyright (C) 2003-2006 Edgewall Software 
    44# Copyright (C) 2003-2004 Jonas Borgström <jonas@edgewall.com> 
     5# Copyright (C) 2006 Christian Boos <cboos@neuf.fr> 
    56# All rights reserved. 
    67# 
     
    197198            'id': id, 
    198199            'mode': 'delete', 
    199             'title': util.row[0], 
     200            'title': row[0], 
    200201            'href': self.env.href.report(id) 
    201202        } 
     
    255256        title, description, sql = self.get_info(db, id, args) 
    256257 
    257         if req.args.get('format') == 'sql': 
     258        format = req.args.get('format') 
     259        if format == 'sql': 
    258260            self._render_sql(req, id, title, description, sql) 
    259261            return 
     
    345347                        value['ticket_href'] = self.env.href.ticket(id_val) 
    346348                elif column == 'description': 
    347                     value['parsed'] = wiki_to_html(cell, self.env, req, db) 
     349                    descr = wiki_to_html(cell, self.env, req, db, 
     350                                         absurls=(format == 'rss')) 
     351                    value['parsed'] = format == 'rss' and str(descr) or descr 
    348352                elif column == 'reporter' and cell.find('@') != -1: 
    349353                    value['rss'] = cell 
     
    364368        req.hdf['report.numrows'] = row_idx 
    365369 
    366         format = req.args.get('format') 
    367370        if format == 'rss': 
    368             self._render_rss(req) 
    369371            return 'report_rss.cs', 'application/rss+xml' 
    370372        elif format == 'csv': 
     
    481483            req.write(sep.join(map(sanitize, row)) + '\r\n') 
    482484 
    483     def _render_rss(self, req): 
    484         # Escape HTML in the ticket summaries 
    485         item = req.hdf.getObj('report.items') 
    486         if item: 
    487             item = item.child() 
    488             while item: 
    489                 for col in ('summary', 'description.parsed'): 
    490                     nodename = 'report.items.%s.%s' % (item.name(), col) 
    491                     value = req.hdf.get(nodename, '') 
    492                     req.hdf[nodename] = value 
    493                 item = item.next() 
    494  
    495485    def _render_sql(self, req, id, title, description, sql): 
    496486        req.perm.assert_permission('REPORT_SQL_VIEW') 
  • tracfrenchtranslation/0.9/trac/ticket/roadmap.py

    r293 r394  
    11# -*- coding: utf-8 -*- 
    22# 
    3 # Copyright (C) 2004-2005 Edgewall Software 
     3# Copyright (C) 2004-2006 Edgewall Software 
    44# Copyright (C) 2004-2005 Christopher Lenz <cmlenz@gmx.de> 
     5# Copyright (C) 2006 Christian Boos <cboos@neuf.fr> 
    56# All rights reserved. 
    67# 
     
    151152 
    152153        db = self.env.get_db_cnx() 
    153         milestones = [] 
    154         for idx, milestone in enumerate(Milestone.select(self.env, showall)): 
    155             hdf = milestone_to_hdf(self.env, db, req, milestone) 
    156             milestones.append(hdf) 
    157         req.hdf['roadmap.milestones'] = milestones 
     154        milestones = [milestone_to_hdf(self.env, db, req, m) 
     155                      for m in Milestone.select(self.env, showall, db)] 
     156        req.hdf['roadmap.milestones'] = milestones         
    158157 
    159158        for idx,milestone in enumerate(milestones): 
     
    318317                if format == 'rss': 
    319318                    href = self.env.abs_href.milestone(name) 
    320