~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/changelog.pt

  • Committer: Matt Nordhoff
  • Date: 2009-06-24 00:59:24 UTC
  • Revision ID: mnordhoff@mattnordhoff.com-20090624005924-cu23d37ssawzodto
Remove Revision.get_apparent_author() compatibility code for bzr < 1.13

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
 
<tal:block define="onload string:sortCollapseElements()">
3
 
  <html xmlns="http://www.w3.org/1999/xhtml" metal:use-macro="macros/main">
4
 
    <head>
5
 
      <title metal:fill-slot="title"
6
 
             tal:content="string:${branch/friendly_name} : changes">
7
 
        ${branch.friendly_name} : changes
8
 
      </title>
9
 
      <metal:block fill-slot="header_extras">
10
 
        <link rel="alternate" type="application/atom+xml"
11
 
              tal:attributes="href python:url(['/atom']);
12
 
                              title string:RSS feed for ${branch/friendly_name}"
13
 
              />
14
 
 
15
 
        <script type="text/javascript"
16
 
                tal:attributes="src python:tg.url('/static/javascript/collapse.js')">
17
 
        </script>
18
 
      </metal:block>
19
 
    </head>
20
 
 
21
 
    <body>
22
 
 
23
 
      <h1 style="margin-bottom: 1em" metal:fill-slot="heading">
24
 
        <span class="branch-name" tal:content="branch/friendly_name">
25
 
          ${branch.friendly_name}
26
 
        </span>
27
 
        : changes
28
 
        <tal:block condition="filter_file_id">
29
 
          to
30
 
          <span class="filename"
31
 
                tal:content="python:history.get_path(revid, filter_file_id)">
32
 
          </span>
33
 
        </tal:block>
34
 
        <tal:block condition="viewing_from">
35
 
          from <tal:block content="python:history.get_revno(start_revid)" />
36
 
        </tal:block>
37
 
        <tal:block condition="query">
38
 
          matching <tal:block content="query" />
 
2
<html xmlns="http://www.w3.org/1999/xhtml" metal:use-macro="macros/main">
 
3
  <head>
 
4
    <title metal:fill-slot="title"
 
5
           tal:content="string:${branch/friendly_name} : changes"></title>
 
6
    <metal:block fill-slot="header_extras">
 
7
      <link rel="alternate" type="application/atom+xml"
 
8
            tal:attributes="href python:url(['/atom']);
 
9
                            title string:RSS feed for ${branch/friendly_name}" />
 
10
    <script type="text/javascript">
 
11
      var revids = <tal:block content="data" />;
 
12
    </script>
 
13
      <script type="text/javascript"
 
14
              tal:attributes="src python:branch.static_url('/static/javascript/changelog.js')"></script>
 
15
    </metal:block>
 
16
  </head>
 
17
 
 
18
  <body>
 
19
    <tal:block metal:fill-slot="heading">
 
20
      <h1>
 
21
        <tal:has-link condition="branch/branch_link">
 
22
          <a tal:attributes="href branch/branch_link"
 
23
             tal:content="branch/friendly_name">
 
24
            nice/branch/name
 
25
          </a>
 
26
        </tal:has-link>
 
27
        <tal:no-link condition="not: branch/branch_link">
 
28
          <span metal:use-macro="breadcrumbs/directory"></span>
 
29
        </tal:no-link>
 
30
        <tal:block condition="changes">
 
31
          : changes
 
32
          <tal:block condition="filter_file_id">to <span tal:content="python:history.get_path(revid, filter_file_id)" /></tal:block>
 
33
          <tal:block condition="start_revid">from revision
 
34
            <span tal:content="python:history.get_revno(start_revid)"/>
 
35
          </tal:block>
 
36
          <tal:block condition="query">matching <tal:block content="query" /></tal:block>
39
37
        </tal:block>
40
38
      </h1>
41
 
 
42
 
      <div metal:fill-slot="content">
43
 
 
44
 
        <p tal:condition="search_failed">
45
 
          Sorry, no results found for your search.
46
 
        </p>
47
 
 
48
 
        <p tal:condition="not:changes">
49
 
          No revisions!
50
 
        </p>
51
 
 
52
 
        <p tal:condition="changes"
53
 
           class="changelog">
54
 
          <tal:b content="structure python:collapse_all_button('cl')" />
55
 
        </p>
56
 
 
57
 
        <table class="log-entries"
58
 
               tal:define="subcolspan python:4-bool(all_same_author)">
59
 
          <tr class="log-header">
60
 
            <th class="revision-number">
61
 
              Rev
62
 
            </th>
63
 
            <th>
64
 
            </th>
65
 
            <th class="summary">
66
 
              Summary
67
 
            </th>
68
 
            <th tal:condition="not:all_same_author"
69
 
                class="author">
70
 
              Committer
71
 
            </th>
72
 
            <th class="date" colspan="2">
73
 
              Date
74
 
            </th>
 
39
    </tal:block>
 
40
 
 
41
    <div metal:fill-slot="content">
 
42
      <tal:branch-info replace="structure python:branchinfo(branch)" />
 
43
 
 
44
      <!-- Something nicer-looking should be done with search -->
 
45
      <p tal:condition="search_failed">
 
46
        Sorry, no results found for your search.
 
47
      </p>
 
48
 
 
49
      <p tal:condition="not:changes">
 
50
        No revisions!
 
51
      </p>
 
52
 
 
53
      <p class="fr revnolink">From Revision <a tal:attributes="href #
 
54
                                                               title python:'Show revision '+history.get_revno(revid)"
 
55
                                               tal:content="python:history.get_revno(revid)"></a>
 
56
        <tal:block tal:condition="python:navigation.last_in_page_revid is not None"> to
 
57
          <a tal:attributes="href #
 
58
                             title 'Show revision '+history.get_revno(navigation.last_in_page_revid)"
 
59
             tal:content="python:history.get_revno(navigation.last_in_page_revid)"></a>
 
60
      </tal:block></p>
 
61
      <p class="expand show_if_js" id="expand_all"><a href="#">
 
62
          <img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png')"
 
63
               alt="expand all" /> expand all</a>
 
64
      </p>
 
65
      <p class="expand" id="collapse_all" style="display:none;"><a href="#">
 
66
          <img tal:attributes="src python:branch.static_url('/static/images/treeExpanded.png')"
 
67
               alt="collapse all" /> collapse all</a>
 
68
      </p>
 
69
      <!-- Table -->
 
70
      <table id="logentries">
 
71
        <tr class="logheader">
 
72
          <td class="revisionnumber">Rev</td>
 
73
          <td class="expandcell show_if_js">&nbsp;</td>
 
74
          <td class="summarycell">Summary</td>
 
75
          <td class="authorcell">Authors</td>
 
76
          <td class="datecell">Date</td>
 
77
          <td class="diffcell">Diff</td>
 
78
          <td class="downloadcell">Files</td>
 
79
        </tr>
 
80
        <tal:block tal:repeat="entry changes">
 
81
          <a tal:attributes="name string:entry-${entry/revno}"/>
 
82
          <tr tal:attributes="class string:blueRow${entry/parity} revision_log; id string:log-${entry/index}">
 
83
            <td class="revnro revnolink"><a tal:attributes="title python:'Show revision '+entry.revno;
 
84
                                                            href  python:url(['/revision', entry.revno], clear=1)"
 
85
                                            tal:content="python:util.trunc(entry.revno)"></a>
 
86
            </td>
 
87
            <td class="expcell show_if_js">
 
88
              <div class="expand_revisioninfo">
 
89
                <a href="#">
 
90
                  <img tal:attributes="src python:branch.static_url('/static/images/treeCollapsed.png')"
 
91
                       class="expand_icon" />
 
92
                </a>
 
93
              </div>
 
94
            </td>
 
95
            <td class="summcell">
 
96
              <div class="short_description">
 
97
                <a tal:attributes="title python:'Show revision '+entry.revno;
 
98
                                   href  python:url(['/revision', entry.revno], clear=1);
 
99
                                   class string:link"
 
100
                   tal:content="entry/short_comment"></a>
 
101
              </div>
 
102
              <div class="long_description" style="display: none">
 
103
                <a tal:attributes="title python:'Show revision '+entry.revno;
 
104
                                   href  python:url(['/revision', entry.revno], clear=1);
 
105
                                   class string:link"
 
106
                   tal:content="structure python:util.fixed_width(entry.comment)"></a>
 
107
                <div class="loading">
 
108
                  <img tal:attributes="src python:branch.static_url('/static/images/spinner.gif')" />
 
109
                </div>
 
110
              </div>
 
111
            </td>
 
112
            <td tal:content="python:util.trunc(util.hide_email(entry.authors[0]), 20)"
 
113
                class="autcell"></td>
 
114
            <td class="date">
 
115
              <span tal:attributes="title python:util.date_time(entry.date)"
 
116
                    tal:content="python:util._approximatedate(entry.date)"></span>
 
117
            </td>
 
118
            <td class="diffr"><a tal:attributes="title python:'Show diff at revision '+entry.revno;
 
119
                                                 href python:url(['/revision', entry.revno], clear=1)">
 
120
                <img tal:attributes="src python:branch.static_url('/static/images/ico_diff.gif')" alt="Diff" /></a></td>
 
121
            <td class="downr"><a tal:attributes="href python:branch.url(['/files', entry.revno]);
 
122
                                                 title string:Files at revision ${entry/revno}">
 
123
                <img tal:attributes="src python:branch.static_url('/static/images/ico_file.gif')" alt="Files" /></a>
 
124
            </td>
75
125
          </tr>
76
 
          <tal:block tal:repeat="entry changes">
77
 
            <a tal:attributes="name string:entry-${entry/revno}" />
78
 
            <tr tal:attributes="class string:revision-header parity${entry/parity}">
79
 
              <td class="revision-number">
80
 
                <a tal:attributes="title python:'Show revision '+history.get_revno(entry.revid);
81
 
                                   href  python:url(['/revision', entry.revid])"
82
 
                   tal:content="python:util.trunc(entry.revno)">
83
 
                  text
84
 
                </a>
85
 
              </td>
86
 
              <td class="expand-button" tal:define="name entry/revno"
87
 
                  tal:content="structure python:collapse_button('cl', entry.revno)">
88
 
              </td>
89
 
              <td class="summary">
90
 
                <a tal:attributes="title python:'Show revision '+history.get_revno(entry.revid);
91
 
                                   href  python:url(['/revision', entry.revid])"
92
 
                   tal:content="entry/short_comment">
93
 
                  text
94
 
                </a>
95
 
              </td>
96
 
              <td tal:condition="not:all_same_author"
97
 
                  tal:content="python:util.trunc(util.hide_email(entry.author), 20)"
98
 
                  class="author"></td>
99
 
              <td class="date">
100
 
                  <span tal:attributes="title python:util.date_time(entry.date)"
101
 
                        tal:content="python:util._approximatedate(entry.date)"></span>
102
 
              </td>
103
 
              <td class="inventory-link">
104
 
                <a tal:attributes="href python:url(['/files', entry.revid]);
105
 
                                   title string:Files at revision ${entry/revno}">
106
 
                  files
107
 
                </a>
108
 
              </td>
109
 
            </tr>
110
 
 
111
 
            <tr tal:attributes="class string:revision-details-block parity${entry/parity}">
112
 
              <td colspan="2">
113
 
              </td>
114
 
              <td tal:attributes="colspan subcolspan">
115
 
                <table tal:attributes="class string:revision-details hidden-details collapse-cl-${entry/revno}-content">
116
 
                  <tr tal:repeat="merge_point entry/merge_points">
117
 
                    <th class="children">
118
 
                      <tal:block condition="repeat/merge_point/start">
119
 
                        merged in:
120
 
                      </tal:block>
121
 
                    </th>
122
 
                    <td class="children">
123
 
                      <a title="Show history"
124
 
                         tal:attributes="href python:url(['/changes'], start_revid=merge_point.revid)"
125
 
                         tal:content="python:revno_with_nick(merge_point)">
126
 
                        class="revlink">
127
 
                        ${text}
128
 
                      </a>
129
 
                    </td>
130
 
                  </tr>
131
 
                  <tr tal:repeat="parent python:entry.parents[1:]">
132
 
                    <th class="parents">
133
 
                      <tal:block condition="repeat/parent/start">
134
 
                        merged from:
135
 
                      </tal:block>
136
 
                    </th>
137
 
                    <td class="parents">
138
 
                      <a title="Show history"
139
 
                         tal:attributes="href python:url(['/changes'], start_revid=parent.revid)"
140
 
                         tal:content="python:revno_with_nick(parent)">
141
 
                        class="revlink">
142
 
                        ${text}
143
 
                      </a>
144
 
                    </td>
145
 
                  </tr>
146
 
                  <tr tal:condition="all_same_author">
147
 
                    <th class="author">
148
 
                      committed by:
149
 
                    </th>
150
 
                    <td class="author" tal:content="python:util.hide_email(entry.author)">
151
 
                      ${util.hide_email(entry.author)}
152
 
                    </td>
153
 
                  </tr>
154
 
                  <tr>
155
 
                    <th class="description">
156
 
                      description:
157
 
                    </th>
158
 
                    <td class="description">
159
 
                      <tal:block repeat="line entry/comment_clean"
160
 
                                 content="structure string:${line}&lt;br /&gt;" />
161
 
                    </td>
162
 
                  </tr>
163
 
                  <tal:block content="structure python:file_change_summary(url, entry, modified_file_link_log)" />
164
 
                </table>
165
 
              </td>
166
 
            </tr>
167
 
          </tal:block>
168
 
        </table>
169
 
 
170
 
        <div tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
171
 
             class="bar">
172
 
          <table>
173
 
            <tr>
174
 
              <td class="buttons">
175
 
                <a tal:condition="navigation/prev_page_revid"
176
 
                   tal:attributes="href navigation/prev_page_url">
177
 
                  &lt;&lt; page
178
 
                </a>
179
 
              </td>
180
 
              <td class="rbuttons" align="right">
181
 
                <a tal:condition="navigation/next_page_revid"
182
 
                   tal:attributes="href navigation/next_page_url">
183
 
                  page &gt;&gt;
184
 
                </a>
185
 
              </td>
186
 
            </tr>
187
 
          </table>
188
 
        </div>
189
 
      </div>
190
 
    </body>
191
 
  </html>
192
 
</tal:block>
 
126
        </tal:block>
 
127
      </table>
 
128
 
 
129
      <ul tal:condition="python:navigation.prev_page_revid or navigation.next_page_revid"
 
130
          id="pages">
 
131
        <li tal:condition="navigation/prev_page_revid"
 
132
            class="previous">
 
133
          <a tal:attributes="href navigation/prev_page_url">&laquo; Newer</a>
 
134
        </li>
 
135
        <!-- FIXME: Leaving this to eventually show page numbers. Can't show all of them,
 
136
             so some magic has to be done to just show the previous and next N page numbers
 
137
 
 
138
             <li class="active">1</li>
 
139
             <tal:block tal:repeat="page_number python:range(navigation.page_count)">
 
140
               <li><a href="#"
 
141
                      tal:content="page_number"></a></li>
 
142
             </tal:block>-->
 
143
        <li tal:condition="navigation/next_page_revid"
 
144
            class="next">
 
145
          <a tal:attributes="href navigation/next_page_url">Older &raquo;</a>
 
146
        </li>
 
147
      </ul>
 
148
 
 
149
    </div>
 
150
  </body>
 
151
</html>