Implémentation de la sélection par range des cases à cocher.
[Plinn.git] / skins / content / changes_history_template.pt
1 <html metal:use-macro="here/main_template/macros/master"
2 xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
3 <head>
4 <title>Content Changes history</title>
5 <meta http-equiv="content-type" content="text/html;charset=utf-8" />
6 <metal:block metal:fill-slot="javascript_head_slot">
7
8 </metal:block>
9 </head>
10 <body>
11 <div metal:fill-slot="main" tal:omit-tag=""
12 tal:define="entries options/entries;
13 b_start options/batchNavigation/current"
14 i18n:domain="plinn">
15 <form tal:condition="python:entries is not None"
16 tal:attributes="action string:${here/absolute_url}/changes_history;"
17 method="get">
18 <table class="listing" cellspacing="0" style="width:auto">
19 <tr tal:define="navigation options/batchNavigation"
20 tal:condition="navigation">
21 <td colspan="4"
22 tal:define="previous navigation/previous;
23 next navigation/next">
24 <a tal:condition="python:previous is not None"
25 tal:attributes="href python:'%s/changes_history?first_transaction:int=%d' % (here.absolute_url(), previous)"
26 i18n:translate=""
27 style="float:left">« later revisions</a>
28 <a tal:condition="python:next is not None"
29 tal:attributes="href python:'%s/changes_history?first_transaction:int=%d' % (here.absolute_url(), next)"
30 i18n:translate=""
31 style="float:right">earlier revisions »</a>
32 </td>
33 </tr>
34 <tr>
35 <th colspan="2" width="28"></th>
36 <th i18n:translate="">Date</th>
37 <th i18n:translate="">user</th>
38 </tr>
39 <tr tal:repeat="entry entries" tal:attributes="class python:repeat['entry'].odd() and 'odd' or 'even'">
40 <td>
41 <input type="radio" name="leftkey"
42 tal:attributes="value entry/key;
43 checked python:entry['key'] == options['leftkey']"/>
44 </td>
45 <td>
46 <input type="radio" name="rightkey"
47 tal:attributes="value entry/key;
48 checked python:entry['key'] == options['rightkey']" />
49 </td>
50 <td>
51 <a tal:content="python:entry['time'].strftime(locale_date_fmt)"
52 tal:attributes="href python:'%s/load_revision/%s?pos:int=%d' % (here.absolute_url(),
53 entry['key'],
54 b_start + repeat['entry'].index)">
55 modification date
56 </a>
57 </td>
58 <td tal:define="userName python:entry['user_name']">
59 <span tal:condition="userName"
60 tal:replace="python:mtool.getMemberFullNameById(userName.split()[-1], nameBefore=False)">
61 user full name
62 </span>
63 <span tal:condition="not:userName" i18n:translate="" tal:omit-tag="">nobody</span>
64 </td>
65 </tr>
66 <tr>
67 <td colspan="4">
68 <input type="hidden" name="first_transaction:int"
69 tal:attributes="value b_start">
70 <input type="submit" value="Compare" name="compare" i18n:attributes="value" />
71 <dl class="FieldHelp">
72 <dd i18n:translate="">Please select one revision per column to compare.</dd>
73 </dl>
74 </td>
75 </tr>
76 </table>
77 </form>
78 <div tal:condition="options/comparison">
79 <table class="comparison" cellspacing="0">
80 <tr>
81 <th width="49%"
82 tal:content="python:options['comparison']['leftDate'].strftime(locale_date_fmt)">left</th>
83 <td width="10" class="mid"><br/></td>
84 <th width="49%"
85 tal:content="python:options['comparison']['rightDate'].strftime(locale_date_fmt)">right</th>
86 </tr>
87 <tbody tal:repeat="g options/comparison/diff">
88 <tr tal:repeat="i g" tal:attributes="class i/tag">
89 <td class="left">
90 <span tal:repeat="line python:i['left'].split('\n')" tal:omit-tag="">
91 <span tal:replace="line"/><br/>
92 </span>
93 </td>
94 <td class="mid"><br/></td>
95 <td class="right">
96 <span tal:repeat="line python:i['right'].split('\n')" tal:omit-tag="">
97 <span tal:replace="line"/><br/>
98 </span>
99 </td>
100 </tr>
101 </tbody>
102 </table>
103 </div>
104 </div>
105 </body>
106 </html>