Code

Fix small typos.
[roundup.git] / share / roundup / templates / devel / html / bug.item.html
1 <tal:block metal:use-macro="templates/page/macros/frame">
2 <title metal:fill-slot="head_title">
3 <tal:block condition="context/id" i18n:translate=""
4  >Bug <span tal:replace="context/id" i18n:name="id"
5  />: <span tal:replace="context/title" i18n:name="title"
6  /> - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker"
7 /></tal:block>
8 <tal:block condition="not:context/id" i18n:translate=""
9  >New Bug report - <span tal:replace="config/TRACKER_NAME" i18n:name="tracker"
10 /></tal:block>
11 </title>
12 <tal:block metal:fill-slot="body_title">
13  <span tal:condition="python: not (context.id or context.is_edit_ok())"
14   tal:omit-tag="python:1" i18n:translate="">New Bug</span>
15  <span tal:condition="python: not context.id and context.is_edit_ok()"
16   tal:omit-tag="python:1" i18n:translate="">New Bug Editing</span>
17  <span tal:condition="python: context.id and not context.is_edit_ok()"
18   tal:omit-tag="python:1" i18n:translate="">Bug <tal:x
19   replace="context/id" i18n:name="id" /></span>
20  <span tal:condition="python: context.id and context.is_edit_ok()"
21   tal:omit-tag="python:1" i18n:translate="">Bug <tal:x
22   replace="context/id" i18n:name="id" /> Editing</span>
23 </tal:block>
25 <td class="content" metal:fill-slot="content">
27 <p tal:condition="python:not (context.is_view_ok()
28  or request.user.hasRole('Anonymous'))" i18n:translate="">
29  You are not allowed to view this page.</p>
31 <p tal:condition="python:not context.is_view_ok()
32  and request.user.hasRole('Anonymous')" i18n:translate="">
33  Please login with your username and password.</p>
35 <div tal:condition="context/is_view_ok">
37 <form method="POST" name="itemSynopsis"
38       onSubmit="return submit_once()" enctype="multipart/form-data"
39       tal:attributes="action context/designator">
41 <fieldset><legend>classification</legend>
42 <table class="form">
43 <tr>
44  <th class="required" i18n:translate="">Title:</th>
45  <td colspan="3" tal:condition="context/title/is_edit_ok"
46      tal:content="structure python:context.title.field(size=40)">title</td>
47  <td colspan="3" tal:condition="not:context/title/is_edit_ok">
48   <span tal:content="structure context/title/plain"/>
49   <input type="hidden" name="title" tal:attributes="value context/title">
50  </td>
51 </tr>
53 <tr>
54  <th class="required" i18n:translate="">
55    <span tal:condition="context/type/is_edit_ok" 
56          tal:replace="structure python:db.bug_type.classhelp('id,name,description',property='type',label='Type')" />
57    <span tal:condition="not:context/type/is_edit_ok">Type</span>:
58  </th>
59  <td tal:content="structure context/type/menu">type</td>
60  <th i18n:translate="">
61    <span tal:condition="context/severity/is_edit_ok"
62          tal:replace="structure python:db.severity.classhelp('id,name,description',property='severity',label='Severity')" />
63    <span tal:condition="not:context/severity/is_edit_ok">Severity</span>:
64  </th>
65  <td tal:content="structure context/severity/menu">severity</td>
66 </tr>
68 <tr>
69  <th i18n:translate="">
70    <span tal:condition="context/components/is_edit_ok" 
71          tal:replace="structure python:db.component.classhelp('id,name,description',property='components',label='Components')" />
72    <span tal:condition="not:context/components/is_edit_ok">Components</span>:
73  </th>
74  <td tal:content="structure context/components/menu">components</td>
75  <th i18n:translate="">
76    <span tal:condition="context/versions/is_edit_ok" 
77          tal:replace="structure python:db.version.classhelp('id,name,description',property='versions',label='Versions')" />
78    <span tal:condition="not:context/versions/is_edit_ok">Versions</span>:
79  </th>
80  <td tal:content="structure context/versions/menu">versions</td>
81 </tr>
82 </table>
83 </fieldset>
85 <fieldset><legend>process</legend>
86 <table class="form">
87 <tr tal:condition="context/id">
88  <th i18n:translate="">
89    <span tal:condition="context/status/is_edit_ok" 
90          tal:replace="structure python:db.status.classhelp('id,name,description',property='status', label='Status')" />
91    <span tal:condition="not:context/status/is_edit_ok">Status</span>:
92  </th>
93  <td tal:content="structure context/status/menu">status</td>
94  <th i18n:translate="">
95    <span tal:condition="context/resolution/is_edit_ok" 
96          tal:replace="structure python:db.resolution.classhelp('id,name,description',property='resolution', label='Resolution')" />
97    <span tal:condition="not:context/resolution/is_edit_ok">Resolution</span>:
98  </th>
99  <td tal:content="structure context/resolution/menu">resolution</td>
100 </tr>
102 <tr tal:condition="context/id">
103  <th>
104   <tal:block i18n:translate="">Dependencies</tal:block>:
105   <span tal:condition="context/dependencies/is_edit_ok"
106         tal:replace="structure python:db.bug.classhelp('id,title', filter='status=0,1', property='dependencies')" />
107  </th>
108  <td>
109   <span tal:replace="structure python:context.dependencies.field(showid=1,size=20)" />
110   <span tal:condition="context/dependencies" tal:repeat="d python:context.dependencies.sorted('creation')">
111    <br/>View: <a tal:attributes="href string:bug${d/id}" tal:content="d/id"></a>
112   </span>
113  </td>
114  <th i18n:translate="">
115   <tal:block i18n:translate="">Superseder</tal:block>:
116   <span tal:condition="context/superseder/is_edit_ok"
117         tal:replace="structure python:db.bug.classhelp('id,title', filter='status=0,1', property='superseder')" />
118  </th>
119  <td>
120   <span tal:replace="structure python:context.superseder.field(showid=1, size=20)" />
121  <span tal:condition="context/superseder">
122 <!--   <br><span i18n:translate="">View</span>:
123      <a tal:repeat="sup context/superseder"
124         tal:content="python:sup['id'] + ', '*(not repeat['sup'].end)"
125         tal:attributes="href string:bug${sup/id}; title sup/title;"></a> -->
126    <br><span i18n:translate="">View</span>:
127      <a tal:content="context/superseder/id"
128         tal:attributes="href string:bug${context/superseder/id}; title context/superseder/title;"></a> 
129   </span> 
130  </td>
131  </tr>
132  <tr>
133  <th><tal:block i18n:translate="">Assigned To</tal:block>:</th>
134  <td tal:content="structure context/assignee/menu">assignedto menu</td>
135  <th><tal:block i18n:translate="">Nosy List</tal:block>:
136   <span tal:condition="context/nosy/is_edit_ok"
137         tal:replace="structure python:db.user.classhelp('username,realname,address', property='nosy')" />
138  </th>
139  <td>
140   <span tal:replace="structure context/nosy/field" />
141  </td>
142 </tr>
143 <tr>
144  <th>
145    <span tal:condition="context/priority/is_edit_ok"
146          tal:replace="structure python:db.priority.classhelp('id,name,description',property='priority',label='Priority')" />
147    <span tal:condition="not:context/priority/is_edit_ok">Priority</span>:
148  </th>
149  <td tal:content="structure context/priority/menu">priority</td>
150  <th i18n:translate="">Keywords:</th>
151  <td tal:content="structure python:context['keywords'].menu(height=5)">keywords</td>
154 </tr>
155 <tr tal:condition="context/is_edit_ok">
156  <th><tal:block i18n:translate="">Comment</tal:block>:</th>
157  <td colspan="3">
158   <textarea tal:content="request/form/@note/value | default"
159             name="@note" wrap="hard" rows="10" cols="60"></textarea>
160  </td>
161 </tr>
163 <tr tal:condition="context/is_edit_ok">
164  <th><tal:block i18n:translate="">File</tal:block>:</th>
165  <td colspan="3">
166    <input type="hidden" name="@link@files" value="file-1">
167    <input type="file" name="file-1@content" size="35">
168  </td>
169 </tr>
170 <tr tal:condition="context/is_edit_ok">
171  <th><tal:block i18n:translate="">File Description</tal:block>:</th>
172  <td colspan=3><input type="edit" name="file-1@description" size="40"></td>
173 </tr>
175 <!--
176 <tr tal:condition="context/is_edit_ok">
177  <th><tal:block i18n:translate="">Patch</tal:block>:</th>
178  <td colspan="3">
179    <input type="hidden" name="@link@patches" value="patch-1"/>
180    <input type="file" name="patch-1@content" size="35"/>
181  </td>
182 </tr>
183 <tr tal:condition="context/is_edit_ok">
184  <th><tal:block i18n:translate="">Patch Description</tal:block>:</th>
185  <td colspan=3><input type="edit" name="patch-1@description" size="40"></td>
186 </tr>
187 <tr tal:condition="context/is_edit_ok">
188  <th><tal:block i18n:translate="">Repository</tal:block>:</th>
189  <td colspan=3><input type="edit" name="patch-1@repository" size="40"></td>
190 </tr>
191 <tr tal:condition="context/is_edit_ok">
192  <th><tal:block i18n:translate="">Repo. Revision</tal:block>:</th>
193  <td colspan=3><input type="edit" name="patch-1@revision" size="40"></td>
194 </tr>
195 -->
196 </table>
197 </fieldset>
198 <table class="form">
199 <tr tal:condition="context/is_edit_ok">
200  <td>
201   &nbsp;
202   <input type="hidden" name="@template" value="item">
203   <input type="hidden" name="@required" value="title">
204  </td>
205  <td colspan="3">
206   <span tal:replace="structure context/submit">submit button</span>
207   <a tal:condition="context/id" tal:attributes="href context/copy_url"
208    i18n:translate="">Make a copy</a>
209  </td>
210 </tr>
211 </table>
212 </form>
214 <p tal:condition="context/id" i18n:translate="">
215  Created on <b><tal:x replace="python:context.creation.pretty('%Y-%m-%d %H:%M')" i18n:name="creation" /></b>
216  by <b><tal:x replace="context/creator" i18n:name="creator" /></b>,
217  last changed <b><tal:x replace="python:context.activity.pretty('%Y-%m-%d %H:%M')" i18n:name="activity" /></b>
218  by <b><tal:x replace="context/actor" i18n:name="actor" /></b>.
219 </p>
221 <table class="files" tal:condition="context/files">
222  <tr><th colspan="5" class="header" i18n:translate="">Files</th></tr>
223  <tr>
224   <th i18n:translate="">File name</th>
225   <th i18n:translate="">Uploaded</th>
226   <th i18n:translate="">Description</th>
227   <th i18n:translate="">Edit</th>
228   <th i18n:translate="">Remove</th>
229  </tr>
230  <tr tal:repeat="file python:context.files.sorted('creation')">
231   <td>
232    <a tal:attributes="href file/download_url"
233       tal:content="file/name">dld link</a>
234   </td>
235   <td>
236    <span tal:content="file/creator">creator's name</span>,
237    <span tal:content="python:file.creation.pretty('%Y-%m-%d %H:%M')">creation date</span>
238   </td>
239   <td tal:content="file/description" />
240   <td><a tal:condition="file/is_edit_ok"
241           tal:attributes="href string:file${file/id}">edit</a>
242   </td>
243   <td>
244    <form style="padding:0" tal:condition="file/is_edit_ok"
245          tal:attributes="action string:bug${context/id}">
246     <input type="hidden" name="@remove@files" tal:attributes="value file/id">
247     <input type="hidden" name="@action" value="edit">
248     <input type="submit" value="remove" i18n:attributes="value">
249    </form>
250   </td>
251  </tr>
252 </table>
253 <!--
254 <table class="files" tal:condition="context/patches">
255  <tr><th colspan="5" class="header" i18n:translate="">Patches</th></tr>
256  <tr>
257   <th i18n:translate="">Patch name</th>
258   <th i18n:translate="">Uploaded</th>
259   <th i18n:translate="">Description</th>
260   <th i18n:translate="">View</th>
261   <th i18n:translate="">Edit</th>
262   <th i18n:translate="">Remove</th>
263  </tr>
264  <tr tal:repeat="patch python:context.patches.sorted('creation')">
265   <td>
266    <a tal:attributes="href patch/download_url"
267       tal:content="patch/name">dld link</a>
268   </td>
269   <td>
270    <span tal:content="patch/creator">creator's name</span>,
271    <span tal:content="python:patch.creation.pretty('%Y-%m-%d %H:%M')">creation date</span>
272   </td>
273   <td tal:content="patch/description" />
274   <td><a tal:attributes="href string:patch_view${patch/id}">Show patch</a>
275   </td>
276   <td><a tal:condition="patch/is_edit_ok"
277           tal:attributes="href string:patch${patch/id}">Edit</a>
278   </td>
279   <td>
280    <form style="padding:0" tal:condition="patch/is_edit_ok"
281          tal:attributes="action string:bug${context/id}">
282     <input type="hidden" name="@remove@patches" tal:attributes="value patch/id"/>
283     <input type="hidden" name="@action" value="edit"/>
284     <input type="submit" value="remove" i18n:attributes="value"/>
285    </form>
286   </td>
287  </tr>
288 </table>
289 -->
290 <table class="messages" tal:condition="context/messages">
291  <tr><th colspan="4" class="header" i18n:translate="">Messages</th></tr>
292  <tal:block tal:repeat="msg context/messages">
293   <tr>
294    <th><a tal:attributes="href string:msg${msg/id}"
295     i18n:translate="">msg<tal:x replace="msg/id" i18n:name="id" /></a></th>
296    <th i18n:translate="">Author: <tal:x replace="python:msg.author.realname.plain()"
297        i18n:name="author" /> (<tal:x replace="msg/author"/>)</th>
298    <th i18n:translate="">Date: <tal:x replace="python:msg.date.pretty('%Y-%m-%d %H:%M')"
299        i18n:name="date" /></th>
300    <th>
301     <form style="padding:0" tal:condition="msg/is_edit_ok"
302           tal:attributes="action string:bug${context/id}">
303      <input type="hidden" name="@remove@messages" tal:attributes="value msg/id">
304      <input type="hidden" name="@action" value="edit">
305      <input type="submit" value="remove" i18n:attributes="value">
306     </form>
307    </th>
308   </tr>
309   <tr>
310    <td colspan="4" class="content">
311     <pre tal:condition="python:msg.content.is_view_ok()"
312          tal:content="structure python:utils.localReplace(msg.content.hyperlinked())">content</pre>
313    </td>
314   </tr>
315  </tal:block>
316 </table>
318 <tal:block tal:condition="context/id" tal:replace="structure context/history" />
320 </div>
322 </td>
324 </tal:block>