~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/revision.pt

  • Committer: Michael Hudson
  • Date: 2008-06-18 11:32:36 UTC
  • mfrom: (128.9.3 zpt.cleaner_urls)
  • mto: This revision was merged to the branch mainline in revision 164.
  • Revision ID: michael.hudson@canonical.com-20080618113236-g65tjloc0ft7zpp6
merge zpt.cleaner_urls yet again

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
    <head>
5
5
      <title metal:fill-slot="title"
6
6
             tal:content="string:${branch/friendly_name} : revision ${change/revno}">
 
7
        ${branch.friendly_name} : revision ${change.revno}
7
8
      </title>
8
9
 
9
10
      <metal:block fill-slot="header_extras">
10
 
        <link rel="stylesheet" type="text/css" media="all"
11
 
              tal:attributes="href python:branch.static_url('/static/css/diff.css')"/>
12
11
        <script type="text/javascript"
13
 
                tal:attributes="src python:branch.static_url('/static/javascript/diff.js')"></script>
14
 
        <script type="text/javascript">
15
 
          var link_data = <tal:b content="link_data" />;
16
 
          var specific_path = <tal:b content="json_specific_path" />;
17
 
          var path_to_id = <tal:b content="path_to_id" />;
 
12
                tal:attributes="src python:branch.static_url('/static/javascript/collapse.js')">
18
13
        </script>
19
14
      </metal:block>
20
15
    </head>
21
16
 
22
17
    <body>
23
18
 
24
 
      <tal:block metal:fill-slot="heading">
25
 
        <h1>
26
 
          <tal:has-link condition="branch/branch_link">
27
 
            <a tal:attributes="href branch/branch_link"
28
 
               tal:content="branch/friendly_name">
29
 
              nice/branch/name
30
 
            </a>
31
 
          </tal:has-link>
32
 
          <tal:no-link condition="not: branch/branch_link">
33
 
            <span metal:use-macro="breadcrumbs/directory"></span>
34
 
          </tal:no-link>
35
 
          <span class="breadcrumb">:
36
 
            <tal:revno condition="not:specific_path" content="change/revno"></tal:revno>
37
 
            <a tal:condition="specific_path" tal:content="change/revno"
38
 
               tal:attributes="href python:url(['/revision', change.revno])"
39
 
               title="View changes to all files"></a>
40
 
                      <tal:compare-to condition="python:compare_revid is not None">
41
 
              (compared to revision <tal:block content="python:history.get_revno(compare_revid)" />)
42
 
            </tal:compare-to>
43
 
          </span>
44
 
          <span class="breadcrumb" tal:condition="specific_path">
45
 
            : <tal:annotate content="structure python:annotate_link(url, change.revno, specific_path)" />
46
 
          </span>
47
 
        </h1>
48
 
        <tal:branch-info replace="structure python:branchinfo(branch)" />
49
 
        <p tal:condition="not:specific_path">
50
 
          Viewing all changes in revision <tal:revno content="change/revno" />.
51
 
        </p>
52
 
        <p tal:condition="specific_path">
53
 
          <a tal:attributes="href python:url(['/revision', change.revno])">
54
 
            &#xAB; back to all changes in this revision
55
 
          </a>
56
 
        </p>
57
 
        <p tal:condition="specific_path">
58
 
          Viewing changes to <tal:annotate content="structure python:annotate_link(url, change.revno, specific_path)" />
59
 
        </p>
60
 
        <ul id="submenuTabs">
61
 
          <li id="first"><a tal:attributes="href python:url(['/files', change.revno]);
62
 
                                            title string:browse files at revision ${change/revno}"
63
 
                            tal:content="string:browse files at revision ${change/revno}"></a></li>
64
 
          <li tal:condition="python:remember != change.revno">
65
 
            <a tal:attributes="href python:url(['/revision', change.revno], remember=change.revno, compare_revid=None);
66
 
                               title string:compare with another revision"
67
 
               tal:content="string:Compare with another revision"></a></li>
68
 
          <li tal:condition="python:(remember is not None) and (compare_revid is None) and (change.revno != remember)" >
 
19
      <h1 metal:fill-slot="heading">
 
20
        <span class="branch-name" tal:content="branch/friendly_name">
 
21
          ${branch.friendly_name}
 
22
        </span>
 
23
        : revision
 
24
        <tal:revno content="change/revno">
 
25
          ${change.revno}
 
26
        </tal:revno>
 
27
        <tal:compare-to condition="python:compare_revid is not None">
 
28
          (compared to revision <tal:b content="python:history.get_revno(compare_revid)" />)
 
29
        </tal:compare-to>
 
30
      </h1>
 
31
 
 
32
      <div metal:fill-slot="content">
 
33
        <div class="links">
 
34
          <div>
 
35
            <b>&#8594;</b>
 
36
            <a tal:attributes="href python:url(['/files', change.revno])">
 
37
              browse files at revision <tal:b content="change/revno" />
 
38
            </a>
 
39
          </div>
 
40
          <div>
 
41
            <b>&#8594;</b>
 
42
            <a tal:attributes="href python:url(['/changes'], start_revid=change.revno)">
 
43
              view history from revision <tal:b content="change/revno" />
 
44
            </a>
 
45
          </div>
 
46
          <div tal:condition="python:compare_revid is not None" >
 
47
            <b>&#8594;</b>
 
48
            <a tal:attributes="href python:branch.url(['/bundle', change.revno, history.get_revno(compare_revid), 'bundle.txt'])">
 
49
                download bundle from <tal:b content="python:history.get_revno(compare_revid)" /> to <tal:b content="change/revno" />
 
50
            </a>
 
51
          </div>
 
52
          <div tal:condition="python:(remember is not None) and (compare_revid is None) and remember != revid" >
 
53
            <b>&#8594;</b>
69
54
            <a tal:attributes="href python:url(['/revision', change.revno], compare_revid=history.get_revno(remember))">
70
55
              compare with revision <tal:b content="python:history.get_revno(remember)" />
71
56
            </a>
72
 
          </li>
73
 
          <li>
74
 
            <a tal:condition="python:len(change.parents) > 0 and compare_revid is None"
75
 
               tal:attributes="href python:url(['/diff', change.revno], clear=1)">download diff</a>
76
 
            <a tal:condition="python:compare_revid is not None"
77
 
               tal:attributes="href python:url(['/diff', change.revno, history.get_revno(compare_revid)], clear=1)">download diff</a>
78
 
          </li>
79
 
          <li id="last"><a tal:attributes="href python:url(['/changes', change.revno]);
80
 
                                           title string:view history from revision ${change/revno}"
81
 
                           tal:content="string:view history from revision ${change/revno}"></a></li>
82
 
        </ul>
83
 
 
84
 
        <tal:we-are-comparing condition="python:compare_revid is not None">
85
 
          <ul id="submenuTabs">
86
 
            <li id="first">
 
57
          </div>
 
58
          <div  tal:condition="python:remember != revid">
 
59
            <b>&#8594;</b>
 
60
            <a tal:attributes="href python:url(['/revision', change.revno], remember=change.revno, compare_revid=None)">
 
61
              compare with another revision
 
62
            </a>
 
63
          </div>
 
64
          <tal:we-are-comparing condition="python:compare_revid is not None">
 
65
            <div>
 
66
              <b>&#8594;</b>
87
67
              <a tal:attributes="href python:url([ '/revision', history.get_revno(compare_revid) ], remember=change.revno, compare_revid=change.revno)">
88
68
                reverse the comparison (<tal:b content="change/revno" /> to <tal:b content="python:history.get_revno(compare_revid)" />)
89
69
              </a>
90
 
            </li>
91
 
            <li id="last">
 
70
            </div>
 
71
            <div>
 
72
              <b>&#8594;</b>
92
73
              <a tal:attributes="href python:url(['/revision', change.revno], remember=None, compare_revid=None)">
93
74
                stop comparing with revision <tal:b content="python:history.get_revno(compare_revid)" />
94
75
              </a>
95
 
            </li>
96
 
          </ul>
97
 
        </tal:we-are-comparing>
98
 
 
99
 
        <tal:revision-info replace="structure python:revisioninfo(url, branch, change, file_changes, specific_path, merged_in)" />
100
 
        <tal:specific-path condition="not:specific_path">
101
 
          <p class="expand show_if_js" id="expand_all"><a href="#">
102
 
              <img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png')"
103
 
                   alt="expand all" /> expand all</a>
104
 
          </p>
105
 
          <p class="expand" id="collapse_all" style="display:none;"><a href="#">
106
 
              <img tal:attributes="src python:branch.static_url('/static/images/treeExpanded.png')"
107
 
                   alt="collapse all" /> collapse all</a>
108
 
          </p>
109
 
        </tal:specific-path>
110
 
        <!-- Table -->
111
 
        <p class="expand show_if_js"><a id="toggle_unified_sbs" href="#">Show diffs side-by-side</a></p>
112
 
        <p class="codin"><img tal:attributes="src python:branch.static_url('/static/images/newCode.gif')" alt="added" /> added</p>
113
 
        <p class="codin"><img tal:attributes="src python:branch.static_url('/static/images/deleteCode.gif')" alt="removed" /> removed</p>
114
 
        <div class="clear"><!-- --></div>
115
 
 
116
 
      </tal:block>
117
 
 
118
 
      <div metal:fill-slot="content">
119
 
        <tal:block condition="specific_path">
120
 
          <div class="diff">
121
 
 
122
 
            <div  class="diffBox">
123
 
              <a tal:attributes="href python:url(['/revision', change.revno, specific_path], clear=1);
124
 
                                 id string:${specific_path};
125
 
                                 title string:View changes to ${specific_path} only"
126
 
                 class="the-link">
127
 
                <img tal:attributes="src python:branch.static_url('/static/images/treeExpanded.png')"
128
 
                     class="expand_diff"/>
129
 
                <tal:b content="specific_path" />
130
 
              </a>
131
 
            </div>
132
 
            <div style="overflow: hidden">
133
 
              <div class="container">
134
 
                <div class="loading" style="display:none">
135
 
                  <img tal:attributes="src python:branch.static_url('/static/images/spinner.gif')" />
136
 
                </div>
137
 
                <div class="diffinfo">
138
 
                  <div class="pseudotable unified"
139
 
                       tal:repeat="chunk diff_chunks">
140
 
 
141
 
                    <tal:block condition="not:repeat/chunk/start">
142
 
                      <div class="pseudorow context-row">
143
 
                        <div class="lineNumber separate"></div>
144
 
                        <div class="lineNumber second separate"></div>
145
 
                        <div class="code separate"></div>
146
 
                        <div class="clear"><!-- --></div>
147
 
                      </div>
148
 
                    </tal:block>
149
 
 
150
 
                    <div tal:repeat="line chunk/diff"
151
 
                         tal:attributes="class string:pseudorow ${line/type}-row">
152
 
                      <div class="lineNumber first"
153
 
                           tal:content="structure python:util.fill_div(line.old_lineno)"></div>
154
 
                      <div class="lineNumber second"
155
 
                           tal:content="structure python:util.fill_div(line.new_lineno)"></div>
156
 
                      <div tal:attributes="class string:code ${line/type}"
157
 
                           tal:content="structure python:util.fill_div(util.html_clean(line.line))"></div>
158
 
                      <div class="clear"><!-- --></div>
159
 
                    </div>
160
 
                  </div>
161
 
                </div>
162
 
              </div>
163
 
            </div>
164
 
          </div>
165
 
        </tal:block>
166
 
 
167
 
        <tal:block condition="not:specific_path">
168
 
          <div class="diff"
169
 
               tal:repeat="item file_changes/text_changes" tal:attributes="id string:diff-${item/index}">
170
 
 
171
 
            <div  class="diffBox">
172
 
              <a tal:attributes="href python:url(['/revision', change.revno, item.filename], clear=1);
173
 
                                 id string:${item/filename};
174
 
                                 title string:View changes to ${item/filename} only"
175
 
                 class="the-link">
176
 
                <img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png')"
177
 
                     class="expand_diff" />
178
 
                <tal:b content="item/filename" />
179
 
              </a>
180
 
            </div>
181
 
            <div class="diffinfo"  style="display:none">
182
 
              <div class="loading">
183
 
                <img tal:attributes="src python:branch.static_url('/static/images/spinner.gif')" />
184
 
              </div>
185
 
            </div>
186
 
          </div>
187
 
        </tal:block>
188
 
 
189
 
        <ul tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
190
 
            id="pages">
191
 
          <li tal:condition="navigation/prev_page_revid"
192
 
              class="previous">
193
 
            <a tal:attributes="href navigation/prev_page_url">&laquo; Newer</a>
194
 
          </li>
195
 
          <!-- FIXME: Leaving this to eventually show page numbers. Can't show all of them,
196
 
               so some magic has to be done to just show the previous and next N page numbers
197
 
 
198
 
               <li class="active">1</li>
199
 
               <tal:block tal:repeat="page_number python:range(navigation.page_count)">
200
 
                 <li><a href="#"
201
 
                        tal:content="page_number"></a></li>
202
 
               </tal:block>-->
203
 
          <li tal:condition="navigation/next_page_revid"
204
 
              class="next">
205
 
            <a tal:attributes="href navigation/next_page_url">Older &raquo;</a>
206
 
          </li>
207
 
        </ul>
208
 
 
 
76
            </div>
 
77
          </tal:we-are-comparing>
 
78
        </div>
 
79
 
 
80
        <tal:revision-info replace="structure python:revisioninfo(url, branch, change, modified_file_link_rev)" />
 
81
 
 
82
        <table class="diff-option-buttons">
 
83
          <tr>
 
84
            <td>
 
85
              <tal:b content="structure python:collapse_all_button('file', branch, normal='table-row')" />
 
86
            </td>
 
87
 
 
88
            <td class="spacey">
 
89
              <a href="javascript:show_sbs()"
 
90
                 class="hide-all collapse-style-sbs-show"
 
91
                 title="collapse">
 
92
                <img tal:attributes="src python:branch.static_url('/static/images/nav-small-out.gif')"
 
93
                     width="22" height="10" class="collapse-triangle" />
 
94
                show side by side
 
95
              </a>
 
96
              <a href="javascript:show_unified()"
 
97
                 class="hide-all collapse-style-unified-show"
 
98
                 title="expand">
 
99
                <img tal:attributes="src python:branch.static_url('/static/images/nav-small-in.gif')"
 
100
                     width="22" height="10" class="collapse-triangle" />
 
101
                show unified diff
 
102
              </a>
 
103
            </td>
 
104
 
 
105
            <td class="diff-key-block diff-insert">
 
106
            </td>
 
107
            <td class="label">
 
108
              added
 
109
            </td>
 
110
            <td class="diff-key-block diff-delete">
 
111
            </td>
 
112
            <td class="label">
 
113
              removed
 
114
            </td>
 
115
          </tr>
 
116
        </table>
 
117
 
 
118
        <div class="diff"
 
119
             tal:condition="change/changes/modified"
 
120
             tal:define="uniqs python:{}">
 
121
          <!-- ! side-by-side diff -->
 
122
          <table class="diff-block collapse-style-sbs-content">
 
123
            <tal:block repeat="item change/changes/modified">
 
124
              <tal:u define="u python:util.uniq(uniqs, item.file_id)">
 
125
                <tr>
 
126
                  <th class="filename" colspan="4">
 
127
                    <tal:b content="structure python:collapse_button('file', u, branch, normal='table-row')" />
 
128
                    <a tal:attributes="href  python:url(['/annotate', change.revno], clear=1, file_id=item.file_id);
 
129
                                       name  string:${item/filename}-s;
 
130
                                       title string:Annotate ${item/filename}"
 
131
                       tal:content="item/filename">
 
132
                      ${item.filename}
 
133
                    </a>
 
134
                  </th>
 
135
                </tr>
 
136
 
 
137
                <tal:block repeat="chunk item/sbs_chunks">
 
138
                  <tr tal:attributes="class string:diff-chunk collapse-file-${u}-content">
 
139
                    <th class="lineno">
 
140
                      old
 
141
                    </th>
 
142
                    <th>
 
143
                    </th>
 
144
                    <th class="lineno">
 
145
                      new
 
146
                    </th>
 
147
                    <th>
 
148
                    </th>
 
149
                  </tr>
 
150
                  <tr tal:repeat="line chunk/diff"
 
151
                      tal:attributes="class string:diff-chunk collapse-file-${u}-content">
 
152
                    <tal:block condition="line/old_lineno">
 
153
                      <td class="lineno"
 
154
                          tal:content="line/old_lineno">
 
155
                        ${line.old_lineno}
 
156
                      </td>
 
157
                      <td tal:attributes="class string:diff-${line/old_type}"
 
158
                          tal:content="line/old_line">
 
159
                        ${line.old_line}
 
160
                      </td>
 
161
                    </tal:block>
 
162
                    <tal:block condition="not:line/old_lineno">
 
163
                      <td class="lineno-skip"
 
164
                          tal:content="line/old_lineno">
 
165
                        ${line.old_lineno}
 
166
                      </td>
 
167
                      <td tal:attributes="class string:diff-${line/old_type}-skip"
 
168
                          tal:content="line/old_line">
 
169
                        ${line.old_line}
 
170
                      </td>
 
171
                    </tal:block>
 
172
                    <tal:block condition="line/new_lineno">
 
173
                      <td class="lineno"
 
174
                          tal:content="line/new_lineno">
 
175
                        ${line.new_lineno}
 
176
                      </td>
 
177
                      <td tal:attributes="class string:diff-${line/new_type}"
 
178
                          tal:content="line/new_line">
 
179
                        ${line.new_line}
 
180
                      </td>
 
181
                    </tal:block>
 
182
                    <tal:block condition="not:line/new_lineno">
 
183
                      <td class="lineno-skip"
 
184
                          tal:content="line/new_lineno">
 
185
                        ${line.new_lineno}
 
186
                      </td>
 
187
                      <td tal:attributes="class string:diff-${line/new_type}-skip"
 
188
                          tal:content="line/new_line">
 
189
                        ${line.new_line}
 
190
                      </td>
 
191
                    </tal:block>
 
192
                  </tr>
 
193
                  <tr tal:attributes="class string:diff-chunk-spacing collapse-file-${u}-content">
 
194
                    <td colspan="4">
 
195
                      &nbsp;
 
196
                    </td>
 
197
                  </tr>
 
198
                </tal:block>
 
199
                <tr class="diff-spacing">
 
200
                  <td colspan="4">
 
201
                    &nbsp;
 
202
                  </td>
 
203
                </tr>
 
204
              </tal:u>
 
205
            </tal:block>
 
206
          </table>
 
207
 
 
208
          <!-- ! unified diff -->
 
209
          <table class="diff-block collapse-style-unified-content">
 
210
            <tal:block repeat="item change/changes/modified">
 
211
              <tal:u define="u python:util.uniq(uniqs, item.file_id)">
 
212
                <tr>
 
213
                  <th class="filename" colspan="4">
 
214
                    <tal:b content="structure python:collapse_button('file', u, branch, normal='table-row')" />
 
215
                    <a tal:attributes="href  python:url(['/annotate', change.revno], file_id=item.file_id);
 
216
                                       name  string:${item/filename}-u;
 
217
                                       title string:Annotate ${item/filename}"
 
218
                       tal:content="item/filename">
 
219
                      ${item.filename}
 
220
                    </a>
 
221
                  </th>
 
222
                </tr>
 
223
 
 
224
                <tal:block repeat="chunk item/chunks">
 
225
                  <tr tal:attributes="class string:diff-chunk collapse-file-${u}-content">
 
226
                    <th class="lineno">
 
227
                      old
 
228
                    </th>
 
229
                    <th class="lineno">
 
230
                      new
 
231
                    </th>
 
232
                    <th>
 
233
                    </th>
 
234
                    <th>
 
235
                    </th>
 
236
                  </tr>
 
237
                  <tr tal:repeat="line chunk/diff"
 
238
                      tal:attributes="class string:diff-chunk collapse-file-${u}-content">
 
239
                    <td class="lineno"
 
240
                        tal:content="line/old_lineno">
 
241
                      ${line.old_lineno}
 
242
                    </td>
 
243
                    <td class="lineno"
 
244
                        tal:content="line/new_lineno">
 
245
                      ${line.new_lineno}
 
246
                    </td>
 
247
                    <td tal:attributes="class string:diff-${line/type} text"
 
248
                        tal:content="line/line">
 
249
                      ${line.line}
 
250
                    </td>
 
251
                    <td>
 
252
                    </td>
 
253
                  </tr>
 
254
                  <tr tal:attributes="class string:diff-chunk-spacing collapse-file-${u}-content">
 
255
                    <td colspan="4">
 
256
                      &nbsp;
 
257
                    </td>
 
258
                  </tr>
 
259
                </tal:block>
 
260
                <tr class="diff-spacing">
 
261
                  <td colspan="4">
 
262
                    &nbsp;
 
263
                  </td>
 
264
                </tr>
 
265
              </tal:u>
 
266
            </tal:block>
 
267
          </table>
 
268
        </div>
 
269
 
 
270
        <div tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
 
271
             class="bar">
 
272
          <table>
 
273
            <tr>
 
274
              <td class="buttons">
 
275
                <a tal:condition="navigation/prev_page_revid"
 
276
                   tal:attributes="href navigation/prev_page_url">
 
277
                  &lt; revision
 
278
                  <tal:r content="python:history.get_revno(navigation.prev_page_revid)" />
 
279
                </a>
 
280
              </td>
 
281
              <td class="rbuttons" align="right">
 
282
                <a tal:condition="navigation/next_page_revid"
 
283
                   tal:attributes="href navigation/next_page_url">
 
284
                  revision
 
285
                  <tal:r content="python:history.get_revno(navigation.next_page_revid)" />
 
286
                  &gt;
 
287
                </a>
 
288
              </td>
 
289
            </tr>
 
290
          </table>
 
291
        </div>
209
292
      </div>
210
293
    </body>
211
294
  </html>