~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/changelog.kid

  • Committer: Robey Pointer
  • Date: 2006-12-19 03:58:22 UTC
  • Revision ID: robey@lag.net-20061219035822-agmyidxqi684uwtp
add text substring indexer

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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" xmlns:py="http://purl.org/kid/ns#"
 
3
    py:extends="'master.kid'">
 
4
<head>
 
5
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 
6
    <title> ${branch_name} : changes </title>
 
7
    <link rel="alternate" type="application/atom+xml" href="${tg.url('/atom')}" title="RSS feed for ${branch_name}" />
 
8
    
 
9
    <span py:def="loglink(revid, text)">
 
10
        <a title="Show history" href="${tg.url('/changes', start_revid=revid)}" class="revlink"> ${text} </a>
 
11
    </span>
 
12
 
 
13
    <span py:def="file_link(filename, file_id, revid)">
 
14
        <a href="${tg.url([ '/annotate', revid ], file_id=file_id)}" title="Annotate ${filename}">${filename}</a>
 
15
    </span>
 
16
 
 
17
    <!-- this is totally matty's fault.  i don't like javacsript. ;) -->
 
18
    <script type="text/javascript"> // <!--
 
19
    function displayDetails(name, hide, show) {
 
20
        if (show == '') { show = 'inline'; }
 
21
        var bhide = hide, ihide = hide;
 
22
        if (hide == '') { bhide = 'block'; ihide = 'inline'; }
 
23
        document.getElementById('details-' + name).style.display = bhide;
 
24
        document.getElementById('hide-' + name).style.display = ihide;
 
25
        document.getElementById('show-' + name).style.display = show;
 
26
    }
 
27
    function displayAll(hide, show) {
 
28
        if (show == '') { show = 'inline'; }
 
29
        var bhide = hide, ihide = hide;
 
30
        if (hide == '') { bhide = 'block'; ihide = 'inline'; }
 
31
        var nodes = document.getElementsByTagName('div');
 
32
        for (var i = 0; i < nodes.length; i++) {
 
33
            var id = nodes[i].id;
 
34
            if ((id.length > 8) && (id.substring(0, 8) == 'details-')) {
 
35
                nodes[i].style.display = bhide;
 
36
                var revno = id.substring(8);
 
37
                document.getElementById('hide-' + revno).style.display = ihide;
 
38
                document.getElementById('show-' + revno).style.display = show;
 
39
            }
 
40
        }
 
41
        document.getElementById('hide-all').style.display = ihide;
 
42
        document.getElementById('show-all').style.display = show;
 
43
    }
 
44
    // -->
 
45
        </script>
 
46
</head>
 
47
 
 
48
<body>
 
49
 
 
50
${navbar()}
 
51
 
 
52
<h1> <span class="branch-name">${branch_name}</span> : changes
 
53
<span py:if="file_id"> to <span class="filename">${history.get_path(revid, file_id)}</span></span>
 
54
<span py:if="(last_revid != start_revid) and not search_failed"> from ${history.get_revno(start_revid)} </span>
 
55
<span py:if="query"> (search results)</span>
 
56
</h1>
 
57
 
 
58
<span py:if="search_failed">
 
59
    Sorry, no results found for your search.
 
60
</span>
 
61
 
 
62
<span py:if="not search_failed">
 
63
<a class="hide-all" id="hide-all" href="javascript:displayAll('none', '')"> (hide all) </a>
 
64
<a class="hide-all" id="show-all" href="javascript:displayAll('', 'none')"> (show all) </a>
 
65
</span>
 
66
 
 
67
<div class="log-entries">
 
68
    <div py:for="entry in changes" class="revision">
 
69
        <a name="entry-${entry.revno}" />
 
70
        <div class="revision-header">
 
71
            <table>
 
72
                <tr>
 
73
                    <td class="revision-number"> ${revlink(entry.revid, start_revid, file_id, util.trunc(entry.revno))} </td>
 
74
                    <td class="expand-button">
 
75
                        <a href="javascript:displayDetails('${entry.revno}', 'none', '')" id="hide-${entry.revno}" class="show-button">
 
76
                            <img src="${tg.url('/static/images/nav-small-down.gif')}" width="10" height="10" />
 
77
                        </a>
 
78
                        <a href="javascript:displayDetails('${entry.revno}', '', 'none')" id="show-${entry.revno}" class="hide-button">
 
79
                                <img src="${tg.url('/static/images/nav-small-right.gif')}" witdh="10" height="10" />
 
80
                        </a>
 
81
                    </td>
 
82
                                        <td class="summary"> ${revlink(entry.revid, start_revid, file_id, entry.short_comment)} </td>
 
83
                                        <td class="inventory-link"> <a href="${tg.url([ '/files', entry.revid ])}">&#8594; files</a> </td>
 
84
                                </tr>
 
85
                        </table>
 
86
        </div>
 
87
        
 
88
        <div class="revision-details-block">
 
89
            <div class="revision-details">
 
90
                            <table>
 
91
                                <tr>
 
92
                                    <th class="author">committed by:</th>
 
93
                                    <td class="author"> ${util.hide_email(entry.author)} </td>
 
94
                                </tr>
 
95
                                <tr>
 
96
                                    <th class="date">date:</th>
 
97
                                    <td class="date"> ${entry.date.strftime('%d %b %Y %H:%M')} &nbsp; (${util.ago(entry.date)}) </td>
 
98
                                </tr>
 
99
                            </table>
 
100
                        </div>
 
101
                <div class="revision-details hidden-details" id="details-${entry.revno}">
 
102
                        <table>
 
103
                                <tr py:if="len(entry.merge_points) > 0">
 
104
                                    <th class="children"> merged in: </th>
 
105
                                    <td class="children">
 
106
                                        <span py:for="child in entry.merge_points">
 
107
                                            ${loglink(child.revid, '(' + child.revno + util.if_present(' %s', child.branch_nick) + ')')} <br />
 
108
                                        </span>
 
109
                                    </td>
 
110
                                </tr>
 
111
                                <tr py:if="len(entry.parents) > 1">
 
112
                                        <th class="parents"> merged from: </th>
 
113
                                        <td class="parents">
 
114
                                            <span py:for="parent in entry.parents"><span py:if="parent.revid != entry.parents[0].revid">
 
115
                                                ${loglink(parent.revid, '(' + parent.revno + util.if_present(' %s', parent.branch_nick) + ')')} <br />
 
116
                                            </span></span>
 
117
                                        </td>
 
118
                                </tr>
 
119
 
 
120
                                <tr py:if="entry.changes.added">
 
121
                                    <th class="files"> files added: </th>
 
122
                                    <td class="files"> <span py:for="filename, file_id in entry.changes.added" class="filename">${file_link(filename, file_id, entry.revid)} <br /></span> </td>
 
123
                                </tr>
 
124
                                <tr py:if="entry.changes.removed">
 
125
                                    <th class="files"> files removed: </th>
 
126
                                    <td class="files"> <span py:for="filename, file_id in entry.changes.removed" class="filename">${file_link(filename, file_id, entry.revid)} <br /></span> </td>
 
127
                                </tr>
 
128
                                <tr py:if="entry.changes.renamed">
 
129
                                    <th class="files"> files renamed: </th>
 
130
                                    <td class="files"> <span py:for="old_filename, new_filename, file_id in entry.changes.renamed" class="filename">
 
131
                                        ${file_link(old_filename, file_id, entry.revid)} => ${file_link(new_filename, file_id, entry.revid)}<br />
 
132
                                    </span> </td>
 
133
                                </tr>
 
134
                                <tr py:if="entry.changes.modified">
 
135
                                    <th class="files"> files modified: </th>
 
136
                                    <td class="files"> <span py:for="item in entry.changes.modified">
 
137
                                        <span class="filename">${file_link(item.filename, item.file_id, entry.revid)}</span> &nbsp;
 
138
                                        <a href="${tg.url([ '/revision', entry.revid ], start_revid=start_revid, file_id=file_id) + '#' + item.filename}" class="jump">&#8594; diff</a>
 
139
                                        <br />
 
140
                                    </span> </td>
 
141
                                </tr>
 
142
                                <tr>
 
143
                                    <th class="description">description:</th>
 
144
                                <td class="description"><span py:for="line in entry.comment_clean">${XML(line)} <br /></span> </td>
 
145
                            </tr>
 
146
                        </table>
 
147
                </div>
 
148
        </div>
 
149
    </div>
 
150
</div>
 
151
 
 
152
<div py:if="navigation.prev_page_revid or navigation.next_page_revid" class="bar">
 
153
    <table>
 
154
        <tr>
 
155
                <td class="buttons">
 
156
                <a py:if="navigation.prev_page_revid" href="${navigation.prev_page_url}"> &lt;&lt; page </a>
 
157
                        </td>
 
158
                        <td class="rbuttons" align="right">
 
159
                <a py:if="navigation.next_page_revid" href="${navigation.next_page_url}"> page &gt;&gt; </a>
 
160
                        </td>
 
161
                </tr>
 
162
        </table>
 
163
</div>
 
164
 
 
165
</body>
 
166
</html>