~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/changelog.pt

MergeĀ fromĀ trunk

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