Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(50)

Side by Side Diff: templates/issue.html

Issue 1008: Issue navigation bar (Closed) SVN Base: http://rietveld.googlecode.com/svn/trunk/
Patch Set: Created 3 months, 3 weeks ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
1 {%extends "base.html"%} 1 {%extends "base.html"%}
2 {%block body%} 2 {%block body%}
3 <h2>Issue: {{issue.subject}} {%if issue.closed %} (Closed) {%endif%}</h2> 3 <h2>Issue: {{issue.subject}} {%if issue.closed %} (Closed) {%endif%}</h2>
4 4
5 {%if issue.draft_count%} 5 {%if issue.draft_count%}
6 <div class="error">You have <b>{{issue.draft_count}} draft</b> 6 <div class="error">You have <b>{{issue.draft_count}} draft</b>
7 comment{{issue.draft_count|pluralize}}. 7 comment{{issue.draft_count|pluralize}}.
8 Drafts are not viewable by others; use 8 Drafts are not viewable by others; use
9 <a class="novisit" href="{%url codereview.views.publish issue.key.id%}"> 9 <a class="novisit" href="{%url codereview.views.publish issue.key.id%}">
10 Publish+Mail Comments</a> to let others view them. 10 Publish+Mail Comments</a> to let others view them.
11 </div> 11 </div>
12 {%endif%} 12 {%endif%}
13 13
14 <div style="float: left; padding-right: 1em"> 14 <div style="float: left; padding-right: 1em">
15 <div> 15 <div>
16 <i>Created:</i> {{issue.created|timesince}} ago by 16 <i>Created:</i> {{issue.created|timesince}} ago by
17 <b>{{issue.owner|nickname}}</b>; 17 <b>{{issue.owner|nickname}}</b>;
18 <i>Last updated:</i> {{issue.modified|timesince}} ago 18 <i>Last updated:</i> {{issue.modified|timesince}} ago
19 </div> 19 </div>
20 <div><i>SVN Base:</i> {{issue.base}}</div> 20 <div><i>SVN Base:</i> {{issue.base}}</div>
21 <div><i>Reviewers:</i> {{issue.reviewers|nicknames}}</div> 21 <div><i>Reviewers:</i> {{issue.reviewers|nicknames}}</div>
22 {%if last_patchset and first_patch%}
22 <div> 23 <div>
23 {%ifequal issue.owner user %}
24 <a class="novisit" href="{%url codereview.views.edit issue.key.id%}">Edit
25 Issue</a>
26 {%else%}
27 <span class="disabled">Can't Edit</span>
28 {%endifequal%}
29 |
30 {%if user%}
31 <a class="novisit" href="{%url codereview.views.publish issue.key.id%}">Publis h+Mail
32 Comments</a>
33 {%else%}
34 <span class="disabled">Can't Publish+Mail</span>
35 {%endif%}
36 {%if last_patchset and first_patch%}
37 |
38 <a class="novisit" 24 <a class="novisit"
39 href="{%url codereview.views.diff issue.key.id,last_patchset.key.id,first_p atch.key.id%}"> 25 href="{%url codereview.views.diff issue.key.id,last_patchset.key.id,first_p atch.key.id%}">
40 <b>Start Review</b></a> 26 <b>Start Review</b></a>
41 {%endif%}
42 </div> 27 </div>
28 {%endif%}
43 </div> 29 </div>
44 30
45 {%if issue.description%} 31 {%if issue.description%}
46 <div style="float: left"><i>Description:</i> 32 <div style="float: left"><i>Description:</i>
47 <pre style="background-color: #e5ecf9; margin-top: 0; padding: 3px; overflow: au to"> 33 <pre style="background-color: #e5ecf9; margin-top: 0; padding: 3px; overflow: au to">
48 {{issue.description|wordwrap:"80"|urlize}}</pre> 34 {{issue.description|wordwrap:"80"|urlize}}</pre>
49 </div> 35 </div>
50 {%endif%} 36 {%endif%}
51 <div style="clear:both"></div> 37 <div style="clear:both"></div>
52 38
53 {%for patchset in patchsets%} 39 {%for patchset in patchsets%}
54 <h3> 40 <h3>
55 <a id="ps-{{patchset.key.id}}-pointer" 41 <a id="ps-{{patchset.key.id}}-pointer"
56 href="javascript:M_toggleSection('ps-{{patchset.key.id}}')" 42 href="javascript:M_toggleSection('ps-{{patchset.key.id}}')"
57 class="toggled-section"> 43 class="toggled-section">
58 Patch Set {{forloop.counter}}: 44 Patch Set {{forloop.counter}}:
59 {%if patchset.message%}{{patchset.message}}{%endif%}</a></h3> 45 {%if patchset.message%}{{patchset.message}}{%endif%}</a></h3>
60 {%if patchset.n_comments or patchset.n_drafts%} 46 {%if patchset.n_comments or patchset.n_drafts%}
61 <div> 47 <div>
62 <i>Total comments:</i> {{patchset.n_comments}} 48 <i>Total comments:</i> {{patchset.n_comments}}
63 {%if patchset.n_drafts%} 49 {%if patchset.n_drafts%}
64 <span style="color:red"> 50 <span style="color:red">
65 <b>+ {{patchset.n_drafts}} draft{{patchset.n_drafts|pluralize}}</b></span> 51 <b>+ {{patchset.n_drafts}} draft{{patchset.n_drafts|pluralize}}</b></span>
66 </div> 52 </div>
67 {%endif%} 53 {%endif%}
68 {%endif%} 54 {%endif%}
69 <div id="ps-{{patchset.key.id}}" 55 <div id="ps-{{patchset.key.id}}"
70 style="{%if forloop.last or patchset.n_drafts%}{%else%}display:none{%endif% }"> 56 style="{%if forloop.last or patchset.n_drafts%}{%else%}display:none{%endif% }">
71 {%if patchset.url%} 57 {%if patchset.url%}
72 <div>Downloaded from: <a href="{{patchset.url}}">{{patchset.url}}</a></div> 58 <div>Downloaded from: <a href="{{patchset.url}}">{{patchset.url}}</a></div>
73 {%endif%} 59 {%endif%}
74 <div> 60 <div>
75 <i>Created:</i> {{patchset.created|timesince}} ago 61 <i>Created:</i> {{patchset.created|timesince}} ago
76 {%ifnotequal patchset.owner issue.owner%} 62 {%ifnotequal patchset.owner issue.owner%}
77 by <b>{{patchset.owner|nickname}}</b>{%endifnotequal%} 63 by <b>{{patchset.owner|nickname}}</b>{%endifnotequal%}
78 </div> 64 </div>
79 <div> 65 <div>
80 <a href="{%url codereview.views.download issue.key.id,patchset.key.id%}">Downl oad raw patch set</a> 66 <a href="{%url codereview.views.download issue.key.id,patchset.key.id%}">Downl oad raw patch set</a>
81 </div> 67 </div>
82 <table id="queues"> 68 <table id="queues">
83 <tr> 69 <tr>
84 <th>Raw unified diffs</th> 70 <th>Raw unified diffs</th>
85 <th colspan="2">Stats</th> 71 <th colspan="2">Stats</th>
86 <th>Side-by-side diffs with inline comments</th> 72 <th>Side-by-side diffs with inline comments</th>
87 {%for patch in patchset.patches%} 73 {%for patch in patchset.patches%}
88 <tr> 74 <tr>
89 <td> 75 <td>
90 <a class="noul" 76 <a class="noul"
91 href="{%url codereview.views.patch issue.key.id,patch.patchset.key.id,pat ch.key.id%}"> 77 href="{%url codereview.views.patch issue.key.id,patch.patchset.key.id,pat ch.key.id%}">
92 {{patch.filename}}</a> 78 {{patch.filename}}</a>
93 </td> 79 </td>
94 <td>{{patch.num_chunks}} chunk{{patch.num_chunks|pluralize}}</td> 80 <td>{{patch.num_chunks}} chunk{{patch.num_chunks|pluralize}}</td>
95 <td>{{patch.num_lines}} line{{patch.num_lines|pluralize}}</td> 81 <td>{{patch.num_lines}} line{{patch.num_lines|pluralize}}</td>
96 <td> 82 <td>
97 {%if patch.num_comments or patch.num_drafts%}<b>{%endif%} 83 {%if patch.num_comments or patch.num_drafts%}<b>{%endif%}
98 <a class="noul" href="{%url codereview.views.diff issue.key.id,patch.patchset. key.id,patch.key.id%}"> 84 <a class="noul" href="{%url codereview.views.diff issue.key.id,patch.patchset. key.id,patch.key.id%}">
99 {{patch.num_comments}} comment{{patch.num_comments|pluralize}} 85 {{patch.num_comments}} comment{{patch.num_comments|pluralize}}
100 {%if patch.num_drafts%}<span style="color:red">+ 86 {%if patch.num_drafts%}<span style="color:red">+
101 {{patch.num_drafts}} draft{{patch.num_drafts|pluralize}}</span> 87 {{patch.num_drafts}} draft{{patch.num_drafts|pluralize}}</span>
102 {%endif%} 88 {%endif%}
103 </a> 89 </a>
104 {%if patch.num_comments or patch.num_drafts%}</b>{%endif%} 90 {%if patch.num_comments or patch.num_drafts%}</b>{%endif%}
105 </td> 91 </td>
106 <td> 92 <td>
107 {%for other in patchsets%} 93 {%for other in patchsets%}
108 {%ifnotequal other patchset%} 94 {%ifnotequal other patchset%}
109 <a href="/{{issue.key.id}}/diff2/{{other.key.id}}:{{patchset.key.id}}/{{ patch.key.id}}">delta from patch set {{forloop.counter}}</a> 95 <a href="/{{issue.key.id}}/diff2/{{other.key.id}}:{{patchset.key.id}}/{{ patch.key.id}}">delta from patch set {{forloop.counter}}</a>
110 {%endifnotequal%} 96 {%endifnotequal%}
111 {%endfor%} 97 {%endfor%}
112 </td> 98 </td>
113 </tr> 99 </tr>
114 {%endfor%} 100 {%endfor%}
115 </table> 101 </table>
116 </div> 102 </div>
117 {%endfor%} 103 {%endfor%}
118 104
119 {%ifequal user issue.owner%} 105 {%ifequal user issue.owner%}
120 <h3> 106 <h3>
121 <a id="add-pointer" 107 <a id="add-pointer"
122 href="javascript:M_toggleSection('add')" 108 href="javascript:M_toggleSection('add')"
123 class="toggled-section"> 109 class="toggled-section">
124 Add Another Patch Set</a> 110 Add Another Patch Set</a>
125 </h3> 111 </h3>
126 112
127 <form id="add" style="{%if not form.errors%}display:none{%endif%}" 113 <form id="add" style="{%if not form.errors%}display:none{%endif%}"
128 action="{%url codereview.views.add issue.key.id%}" method="post" 114 action="{%url codereview.views.add issue.key.id%}" method="post"
129 enctype="multipart/form-data"> 115 enctype="multipart/form-data">
130 <table> 116 <table>
131 {{form}} 117 {{form}}
132 <tr> 118 <tr>
133 <td><input type="submit" value="Add Patch Set"></td> 119 <td><input type="submit" value="Add Patch Set"></td>
134 <td> 120 <td>
135 You can also add a patch set to this issue using 121 You can also add a patch set to this issue using
136 <code>upload.py -i {{issue.key.id}}</code> 122 <code>upload.py -i {{issue.key.id}}</code>
137 </td> 123 </td>
138 </tr> 124 </tr>
139 </table> 125 </table>
140 </form> 126 </form>
141 {%endifequal%} 127 {%endifequal%}
142 128
143 {%if messages%} 129 {%if messages%}
144 <h2>Messages</h2> 130 <h2>Messages</h2>
145 131
146 <a href="javascript:M_showAllComments('cl', {{messages|length}})"> 132 <a href="javascript:M_showAllComments('cl', {{messages|length}})">
147 Expand All Comments</a> 133 Expand All Comments</a>
148 | 134 |
149 <a href="javascript:M_hideAllComments('cl', {{messages|length}})"> 135 <a href="javascript:M_hideAllComments('cl', {{messages|length}})">
150 Collapse All Comments</a> 136 Collapse All Comments</a>
151 137
152 {%for message in messages%} 138 {%for message in messages%}
153 <div class="comment_title" 139 <div class="comment_title"
154 onclick="M_switchChangelistComment({{forloop.counter0}})"> 140 onclick="M_switchChangelistComment({{forloop.counter0}})">
155 From: {{message.sender|nickname}} 141 From: {{message.sender|nickname}}
156 <span id="cl-preview-{{forloop.counter0}}" class="extra"> 142 <span id="cl-preview-{{forloop.counter0}}" class="extra">
157 {{message.date|timesince}} ago 143 {{message.date|timesince}} ago
158 </span> 144 </span>
159 </div> 145 </div>
160 <div id="cl-comment-{{forloop.counter0}}" style="display: none;"> 146 <div id="cl-comment-{{forloop.counter0}}" style="display: none;">
161 <div>Subject: {{message.subject}}</div> 147 <div>Subject: {{message.subject}}</div>
162 <div>To: {{message.recipients|nicknames}}</div> 148 <div>To: {{message.recipients|nicknames}}</div>
163 <div>Date: {{message.date|timesince}} ago</div> 149 <div>Date: {{message.date|timesince}} ago</div>
164 <pre>{{message.text|wordwrap:"80"|urlize}}</pre> 150 <pre>{{message.text|wordwrap:"80"|urlize}}</pre>
165 </div> 151 </div>
166 {%endfor%} 152 {%endfor%}
167 153
168 <div style="border-top: thin solid;"></div> 154 <div style="border-top: thin solid;"></div>
169 155
170 <a href="javascript:M_showAllComments('cl', {{messages|length}})"> 156 <a href="javascript:M_showAllComments('cl', {{messages|length}})">
171 Expand All Comments</a> 157 Expand All Comments</a>
172 | 158 |
173 <a href="javascript:M_hideAllComments('cl', {{messages|length}})"> 159 <a href="javascript:M_hideAllComments('cl', {{messages|length}})">
174 Collapse All Comments</a> 160 Collapse All Comments</a>
175 {%endif%} 161 {%endif%}
176 162
177 <script language="JavaScript" type="text/javascript"><!-- 163 <script language="JavaScript" type="text/javascript"><!--
178 document.onkeypress = function(evt) { return M_changelistKeyPress(evt); } 164 document.onkeypress = function(evt) { return M_changelistKeyPress(evt); }
179 // --> 165 // -->
180 </script> 166 </script>
181 167
182 {%endblock%} 168 {%endblock%}
OLDNEW

Powered by Google App Engine
This is Rietveld r305