~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/revisioninfo.pt

  • Committer: William Grant
  • Date: 2011-03-24 23:02:29 UTC
  • mfrom: (441.1.7 xss-fix)
  • Revision ID: william.grant@canonical.com-20110324230229-zq85fy6aqvlyylbu
Improve escaping of filenames in revision views. Fixes a couple of XSS holes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<div class="infoContainer">
2
2
    <div id="infTxt">
3
 
        <div class="committer" tal:content="python:util.hide_email(change.author)"></div>
4
 
        <div class="timer" tal:content="python:util.date_time(change.date)"></div>
5
 
        <div class="mfrom" tal:repeat="parent python:change.parents[1:]">
6
 
            <a tal:attributes="title string:Merged From ${parent/revno};
7
 
                               href python:url(['/revision', parent.revno], clear=1)"
8
 
               tal:content="python:revno_with_nick(parent)"></a>
9
 
        </div>
10
 
        <div class="mto" tal:repeat="merge_point change/merge_points">
11
 
            <a tal:attributes="title string:Merged In ${merge_point/revno};
12
 
                               href python:url(['/revision', merge_point.revno], clear=1)"
13
 
               tal:content="python:revno_with_nick(merge_point)"></a>
14
 
        </div>
15
 
        <div class="revid" tal:content="string:Revision ID: ${change/revid}"></div>
16
 
        <div class="information" tal:content="python:util.fixed_width(change.comment)"></div>
 
3
        <ul>
 
4
            <li class="committer">
 
5
                <strong>Committer:</strong>
 
6
                <span tal:content="python:util.hide_email(change.committer)"></span>
 
7
            </li>
 
8
            <li class="authors" tal:condition="python:len(change.authors) > 1 or change.authors[0] != change.committer">
 
9
                <strong>Author(s):</strong>
 
10
                <span tal:content="python:', '.join(util.hide_emails(change.authors))"></span>
 
11
            </li>
 
12
            <li class="timer">
 
13
                <strong>Date:</strong>
 
14
                <span tal:content="python:util.date_time(change.date)"></span>
 
15
            </li>
 
16
            <li class="mfrom" tal:condition="python:change.parents[1:]">
 
17
                <strong>mfrom:</strong>
 
18
                <span tal:repeat="parent python:change.parents[1:]">
 
19
                    <a tal:attributes="title string:Merged From ${parent/revno};
 
20
                                       href python:url(['/revision', parent.revno], clear=1)"
 
21
                       tal:content="python:revno_with_nick(parent)"></a>
 
22
                </span>
 
23
            </li>
 
24
            <li class="mto" tal:condition="change/merge_points">
 
25
                <strong>mto:</strong>
 
26
                <span tal:repeat="merge_point change/merge_points">
 
27
                    <a tal:attributes="title string:Merged In ${merge_point/revno};
 
28
                                       href python:url(['/revision', merge_point.revno], clear=1)"
 
29
                       tal:content="python:revno_with_nick(merge_point)"></a>
 
30
                </span>
 
31
            </li>
 
32
            <li class="mto" tal:condition="merged_in">
 
33
                <strong>mto:</strong>
 
34
                  This revision was merged to the branch mainline in
 
35
                  <a tal:attributes="href python:url(['/revision', merged_in], clear=1)">revision
 
36
                    <tal:b content="merged_in"/></a>.
 
37
            </li>
 
38
            <li class="revid">
 
39
                <strong>Revision ID:</strong>
 
40
                <span tal:content="change/revid"></span>
 
41
            </li>
 
42
        </ul>
 
43
        <div tal:attributes="class string:foreign-${change/foreign_vcs}"
 
44
             tal:condition="change/foreign_vcs" 
 
45
             tal:repeat="revid_part python:change.foreign_revid.keys()"
 
46
             tal:content="python:'%s: %s' % (revid_part, change.foreign_revid[revid_part])"/>
 
47
        <div class="tags" tal:condition="change/tags" tal:content="string:Tags: ${change/tags}"></div>
 
48
        <div class="clear"><!-- --></div>
 
49
        <div class="bug" tal:repeat="bug change/bugs">
 
50
            <a tal:attributes="href bug" tal:content="bug"></a>
 
51
        </div>
 
52
        <div class="information" tal:content="structure python:util.fixed_width(change.comment)"></div>
17
53
    </div>
18
 
    <ul id="list-files">
19
 
        <tal:block condition="nocall:modified_file_link">
20
 
        <tal:block content="structure python:file_change_summary(url, change, modified_file_link)" /></tal:block>
 
54
    <ul id="list-files" tal:condition="file_changes">
 
55
      <tal:block content="structure python:file_change_summary(url, change, file_changes, 'fragment', currently_showing)" />
21
56
    </ul>
22
57
    <div class="clear"><!-- --></div>
23
58
</div>