Changeset 35

Show
Ignore:
Timestamp:
2008年07月31日 00时27分12秒 (4 years ago)
Author:
jiangx
Message:

See #7: compare revisions in logs page.

Location:
trunk/pysvnmanager
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/pysvnmanager/controllers/logs.py

    r34 r35  
    4747    <th>%(when)s</th> 
    4848    <th>%(why)s</th> 
     49    <th>%(comp)s</th> 
    4950</tr>''' % {'rev': _("Rev"),  
    5051            'who': _("Who"),  
    5152            'when': _("When"),  
    52             'why': _("Why"),} 
     53            'why': _("Why"), 
     54            'comp': _("Compare"), 
     55            } 
    5356         
    5457        for i in range(len(logs)-1, -1, -1): 
     
    5962    <td>%(when)s</td> 
    6063    <td>%(why)s</td> 
     64    <td> 
     65        <input type="radio" name="left" value="%(rev)s"> 
     66        <input type="radio" name="right" value="%(rev)s"> 
     67    </td> 
    6168</tr>''' % {'rev' : logs[i].get('revision',''),  
    6269            'who' : logs[i].get('author',''),  
    6370            'when': logs[i].get('date',''),  
    64             'why' : logs[i].get('log',''), } 
     71            'why' : logs[i].get('log',''),  
     72            } 
    6573         
    6674        buff += ''' 
     
    106114 
    107115        return buff  
     116     
     117    def compare(self): 
     118        d = request.params 
     119        left  = d.get('left', '') 
     120        right = d.get('right', '') 
     121        if not left or not right: 
     122            return "" 
     123        if left == right: 
     124            return "" 
     125         
     126        buff = '''<h2>%(title)s 
     127<input type="radio" name="left" value="%(left)s">%(left)s 
     128<input type="radio" name="right" value="%(right)s">%(right)s 
     129</h2> 
     130''' % {'title': _("Compares between"), 
     131       'left' : left, 
     132       'right': right} 
     133 
     134        buff += "<pre>%s</pre>" % self.rcslog.differ(left, right) 
     135        return buff 
  • trunk/pysvnmanager/i18n/en/LC_MESSAGES/pysvnmanager.po

    r33 r35  
    1010"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 
    1111"POT-Creation-Date: 2008-07-03 22:14+0800\n" 
    12 "PO-Revision-Date: 2008-07-30 23:27+0800\n" 
     12"PO-Revision-Date: 2008-07-31 00:22+0800\n" 
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
    1414"Language-Team: en <LL@li.org>\n" 
     
    9797msgstr "" 
    9898 
    99 #: pysvnmanager/controllers/logs.py:49 
     99#: pysvnmanager/controllers/logs.py:50 
    100100msgid "Rev" 
    101101msgstr "" 
    102102 
    103 #: pysvnmanager/controllers/logs.py:50 
     103#: pysvnmanager/controllers/logs.py:51 
    104104msgid "Who" 
    105105msgstr "" 
    106106 
    107 #: pysvnmanager/controllers/logs.py:51 
     107#: pysvnmanager/controllers/logs.py:52 
    108108msgid "When" 
    109109msgstr "" 
    110110 
    111 #: pysvnmanager/controllers/logs.py:52 
     111#: pysvnmanager/controllers/logs.py:53 
    112112msgid "Why" 
    113113msgstr "" 
    114114 
    115 #: pysvnmanager/controllers/logs.py:86 
     115#: pysvnmanager/controllers/logs.py:54 
     116msgid "Compare" 
     117msgstr "" 
     118 
     119#: pysvnmanager/controllers/logs.py:94 
    116120msgid "Page: " 
     121msgstr "" 
     122 
     123#: pysvnmanager/controllers/logs.py:130 
     124msgid "Compares between" 
    117125msgstr "" 
    118126 
     
    461469 
    462470#: pysvnmanager/templates/logs/index.mako:5 
    463 #: pysvnmanager/templates/logs/index.mako:26 
     471#: pysvnmanager/templates/logs/index.mako:60 
    464472msgid "Administration logs" 
     473msgstr "" 
     474 
     475#: pysvnmanager/templates/logs/index.mako:66 
     476msgid "Compare revisions" 
    465477msgstr "" 
    466478 
  • trunk/pysvnmanager/i18n/pysvnmanager.pot

    r33 r35  
    99"Project-Id-Version: pySvnManager 0.1.2\n" 
    1010"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 
    11 "POT-Creation-Date: 2008-07-30 23:27+0800\n" 
     11"POT-Creation-Date: 2008-07-31 00:22+0800\n" 
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
     
    9090msgstr "" 
    9191 
    92 #: pysvnmanager/controllers/logs.py:49 
     92#: pysvnmanager/controllers/logs.py:50 
    9393msgid "Rev" 
    9494msgstr "" 
    9595 
    96 #: pysvnmanager/controllers/logs.py:50 
     96#: pysvnmanager/controllers/logs.py:51 
    9797msgid "Who" 
    9898msgstr "" 
    9999 
    100 #: pysvnmanager/controllers/logs.py:51 
     100#: pysvnmanager/controllers/logs.py:52 
    101101msgid "When" 
    102102msgstr "" 
    103103 
    104 #: pysvnmanager/controllers/logs.py:52 
     104#: pysvnmanager/controllers/logs.py:53 
    105105msgid "Why" 
    106106msgstr "" 
    107107 
    108 #: pysvnmanager/controllers/logs.py:86 
     108#: pysvnmanager/controllers/logs.py:54 
     109msgid "Compare" 
     110msgstr "" 
     111 
     112#: pysvnmanager/controllers/logs.py:94 
    109113msgid "Page: " 
     114msgstr "" 
     115 
     116#: pysvnmanager/controllers/logs.py:130 
     117msgid "Compares between" 
    110118msgstr "" 
    111119 
     
    453461 
    454462#: pysvnmanager/templates/logs/index.mako:5 
    455 #: pysvnmanager/templates/logs/index.mako:26 
     463#: pysvnmanager/templates/logs/index.mako:60 
    456464msgid "Administration logs" 
     465msgstr "" 
     466 
     467#: pysvnmanager/templates/logs/index.mako:66 
     468msgid "Compare revisions" 
    457469msgstr "" 
    458470 
  • trunk/pysvnmanager/i18n/zh/LC_MESSAGES/pysvnmanager.po

    r33 r35  
    1212"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" 
    1313"POT-Creation-Date: 2008-07-03 22:14+0800\n" 
    14 "PO-Revision-Date: 2008-07-30 23:29+0800\n" 
     14"PO-Revision-Date: 2008-07-31 00:24+0800\n" 
    1515"Last-Translator: Jiang Xin <worldhello.net@gmail.com>\n" 
    1616"Language-Team:  <zh@li.org>\n" 
     
    100100msgstr "没有权限。" 
    101101 
    102 #: pysvnmanager/controllers/logs.py:49 
     102#: pysvnmanager/controllers/logs.py:50 
    103103msgid "Rev" 
    104104msgstr "版本" 
    105105 
    106 #: pysvnmanager/controllers/logs.py:50 
     106#: pysvnmanager/controllers/logs.py:51 
    107107msgid "Who" 
    108108msgstr "管理员" 
    109109 
    110 #: pysvnmanager/controllers/logs.py:51 
     110#: pysvnmanager/controllers/logs.py:52 
    111111msgid "When" 
    112112msgstr "时间" 
    113113 
    114 #: pysvnmanager/controllers/logs.py:52 
     114#: pysvnmanager/controllers/logs.py:53 
    115115msgid "Why" 
    116116msgstr "说明" 
    117117 
    118 #: pysvnmanager/controllers/logs.py:86 
     118#: pysvnmanager/controllers/logs.py:54 
     119msgid "Compare" 
     120msgstr "比较" 
     121 
     122#: pysvnmanager/controllers/logs.py:94 
    119123msgid "Page: " 
    120124msgstr "页面: " 
     125 
     126#: pysvnmanager/controllers/logs.py:130 
     127msgid "Compares between" 
     128msgstr "版本间比较" 
    121129 
    122130#: pysvnmanager/controllers/role.py:103 
     
    484492 
    485493#: pysvnmanager/templates/logs/index.mako:5 
    486 #: pysvnmanager/templates/logs/index.mako:26 
    487 #| msgid "Administrators:" 
     494#: pysvnmanager/templates/logs/index.mako:60 
    488495msgid "Administration logs" 
    489496msgstr "修改记录" 
     497 
     498#: pysvnmanager/templates/logs/index.mako:66 
     499msgid "Compare revisions" 
     500msgstr "版本比较" 
    490501 
    491502#: pysvnmanager/templates/role/index.mako:5 
  • trunk/pysvnmanager/templates/logs/index.mako

    r32 r35  
    2222} 
    2323 
     24function get_selected_radio(radio) 
     25{ 
     26        for (var i = 0; i<radio.length; i++) 
     27        { 
     28                if (radio[i].checked) 
     29                { 
     30                        return i; 
     31                } 
     32        } 
     33} 
     34 
     35function get_selected_radio_value(radio) 
     36{ 
     37        i = get_selected_radio(radio) 
     38        return radio[i].value 
     39} 
     40 
     41function compare(form) 
     42{ 
     43        left = get_selected_radio_value(document.main_form.left) 
     44        right = get_selected_radio_value(document.main_form.right) 
     45        showNoticesPopup(); 
     46    var params = {left:left, right:right}; 
     47        new Ajax.Updater( 
     48        {success:'compare',failure:'compare'},  
     49        '${h.url_for(action="compare")}', 
     50        {asynchronous:true, evalScripts:true, method:'post',  
     51                onComplete: 
     52                        function(request) 
     53                                {hideNoticesPopup(); 
     54                                new Effect.Highlight("compare",{duration:1});}, 
     55                parameters:params}); 
     56 
     57} 
    2458</SCRIPT> 
    2559 
    2660<h2>${_("Administration logs")}</h2> 
    2761 
     62<form name="main_form" onSubmit="compare(); return false;"> 
    2863<div id="logs"> 
    2964${c.display} 
    3065</div> 
     66<input type="submit" name="submit" value='${_("Compare revisions")}'> 
    3167 
     68<div id="compare"></div> 
     69 
     70</form>