Mercurial > p > roundup > code
annotate share/roundup/templates/devel/html/task.item.html @ 8566:e4191aa7b402 default tip
doc: issue2551415 correct doc for change input->input_payload
in 2.5 the rest interface changed a variable name from input to
input_payload. An earlier commit changed the rest docs. This commit
adds an item for it to the upgrading 2.4.0->2.5.0 section. Also cross
reference added to the rest docs with the updated examples.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 09 Apr 2026 00:19:06 -0400 |
| parents | 4ac0bbb3e440 |
| children |
| rev | line source |
|---|---|
| 4434 | 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="" | |
|
8365
4ac0bbb3e440
bug(security): CVE-2025-53865 - XSS bug
John Rouillard <rouilj@ieee.org>
parents:
8357
diff
changeset
|
4 >Task <tal:x tal:content="context/id" i18n:name="id" |
|
4ac0bbb3e440
bug(security): CVE-2025-53865 - XSS bug
John Rouillard <rouilj@ieee.org>
parents:
8357
diff
changeset
|
5 />: <tal:x tal:content="context/title" i18n:name="title" |
|
4ac0bbb3e440
bug(security): CVE-2025-53865 - XSS bug
John Rouillard <rouilj@ieee.org>
parents:
8357
diff
changeset
|
6 /> - <tal:x tal:content="config/TRACKER_NAME" i18n:name="tracker" |
| 4434 | 7 /></tal:block> |
| 8 <tal:block condition="not:context/id" i18n:translate="" | |
| 9 >New Task - <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 Task</span> | |
| 15 <span tal:condition="python: not context.id and context.is_edit_ok()" | |
| 16 tal:omit-tag="python:1" i18n:translate="">New Task Editing</span> | |
| 17 <span tal:condition="python: context.id and not context.is_edit_ok()" | |
| 18 tal:omit-tag="python:1" i18n:translate="">Task <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="">Task<tal:x | |
| 22 replace="context/id" i18n:name="id" /> Editing</span> | |
| 23 </tal:block> | |
| 24 | |
| 25 <td class="content" metal:fill-slot="content"> | |
| 26 | |
| 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> | |
| 30 | |
| 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> | |
| 34 | |
| 35 <div tal:condition="context/is_view_ok"> | |
| 36 | |
| 37 <form method="POST" name="itemSynopsis" | |
| 38 onSubmit="return submit_once()" enctype="multipart/form-data" | |
| 39 tal:attributes="action context/designator"> | |
| 40 | |
| 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=60)">title</td> | |
| 47 <td colspan="3" tal:condition="not:context/title/is_edit_ok"> | |
|
8357
abf1297e7a94
bug(security): fix XSS exploit in devel and responsive templates
John Rouillard <rouilj@ieee.org>
parents:
5207
diff
changeset
|
48 <span tal:content="context/title/plain"/> |
| 4434 | 49 <input type="hidden" name="title" tal:attributes="value context/title"> |
| 50 </td> | |
| 51 </tr> | |
| 52 | |
| 53 <tr> | |
| 54 <th class="required" i18n:translate=""> | |
|
4455
2860ff541d0e
Add missing 'property' argument to classhelp call.
Stefan Seefeld <stefan@seefeld.name>
parents:
4434
diff
changeset
|
55 <span tal:replace="structure python:db.task_type.classhelp('id,name,description',property='type',label='Type')" />: |
| 4434 | 56 </th> |
| 57 <td tal:content="structure context/type/menu">type</td> | |
| 58 <th i18n:translate=""> | |
|
4455
2860ff541d0e
Add missing 'property' argument to classhelp call.
Stefan Seefeld <stefan@seefeld.name>
parents:
4434
diff
changeset
|
59 <span tal:replace="structure python:db.component.classhelp('id,name,description',property='component',label='Components')" />: |
| 4434 | 60 </th> |
| 61 <td tal:content="structure context/components/menu">components</td> | |
| 62 </tr> | |
| 63 </table> | |
| 64 </fieldset> | |
| 65 | |
| 66 <fieldset><legend>process</legend> | |
| 67 <table class="form"> | |
| 68 <tr tal:condition="context/id"> | |
| 69 <th i18n:translate=""> | |
|
4455
2860ff541d0e
Add missing 'property' argument to classhelp call.
Stefan Seefeld <stefan@seefeld.name>
parents:
4434
diff
changeset
|
70 <span tal:replace="structure python:db.status.classhelp('id,name,description',property='status',label='Status')" />: |
| 4434 | 71 </th> |
| 72 <td tal:content="structure context/status/menu">status</td> | |
| 73 <th i18n:translate="">Resolution:</th> | |
| 74 <td tal:content="structure context/resolution/menu">resolution</td> | |
| 75 </tr> | |
| 76 | |
| 77 <tr tal:condition="context/id"> | |
| 78 <th> | |
| 79 <tal:block i18n:translate="">Dependencies</tal:block>: | |
| 80 <span tal:condition="context/dependencies/is_edit_ok" | |
| 81 tal:replace="structure python:db.task.classhelp('id,title', filter='status=0,1', property='dependencies')" /> | |
| 82 </th> | |
| 83 <td> | |
| 84 <span tal:replace="structure python:context.dependencies.field(showid=1,size=20)" /> | |
| 85 <span tal:condition="context/dependencies" tal:repeat="d python:context.dependencies.sorted('creation')"> | |
| 86 <br/>View: <a tal:attributes="href string:task${d/id}" tal:content="d/id"></a> | |
| 87 </span> | |
| 88 </td> | |
| 89 <th i18n:translate=""> | |
| 90 <tal:block i18n:translate="">Superseder</tal:block>: | |
| 91 <span tal:condition="context/superseder/is_edit_ok" | |
| 92 tal:replace="structure python:db.task.classhelp('id,title', filter='status=0,1', property='superseder')" /> | |
| 93 </th> | |
| 94 <td> | |
| 95 <span tal:replace="structure python:context.superseder.field(showid=1, size=20)" /> | |
| 96 <span tal:condition="context/superseder"> | |
| 97 <!-- <br><span i18n:translate="">View</span>: | |
| 98 <a tal:repeat="sup context/superseder" | |
| 99 tal:content="python:sup['id'] + ', '*(not repeat['sup'].end)" | |
| 100 tal:attributes="href string:task${sup/id}; title sup/title;"></a> --> | |
| 101 <br><span i18n:translate="">View</span>: | |
| 102 <a tal:content="context/superseder/id" | |
| 103 tal:attributes="href string:task${context/superseder/id}; title context/superseder/title;"></a> | |
| 104 </span> | |
| 105 </td> | |
| 106 </tr> | |
| 107 <tr> | |
| 108 <th><tal:block i18n:translate="">Assigned To</tal:block>:</th> | |
| 109 <td tal:content="structure context/assignee/menu">assignedto menu</td> | |
| 110 <th><tal:block i18n:translate="">Nosy List</tal:block>: | |
| 111 <span tal:condition="context/nosy/is_edit_ok" | |
| 112 tal:replace="structure python:db.user.classhelp('username,realname,address', property='nosy')" /> | |
| 113 </th> | |
| 114 <td> | |
| 115 <span tal:replace="structure context/nosy/field" /> | |
| 116 </td> | |
| 117 </tr> | |
| 118 <tr> | |
| 119 <th> | |
|
4455
2860ff541d0e
Add missing 'property' argument to classhelp call.
Stefan Seefeld <stefan@seefeld.name>
parents:
4434
diff
changeset
|
120 <span tal:replace="structure python:db.priority.classhelp('id,name,description', property='priority',label='Priority')" />: |
| 4434 | 121 </th> |
| 122 <td tal:content="structure context/priority/menu">priority</td> | |
| 123 </tr> | |
| 124 <tr tal:condition="context/is_edit_ok"> | |
| 125 <th><tal:block i18n:translate="">Comment</tal:block>:</th> | |
| 126 <td colspan="3"> | |
| 127 <textarea tal:content="request/form/@note/value | default" | |
| 128 name="@note" wrap="hard" rows="10" cols="72"></textarea> | |
| 129 </td> | |
| 130 </tr> | |
| 131 | |
| 132 <tr tal:condition="context/is_edit_ok"> | |
| 133 <th><tal:block i18n:translate="">File</tal:block>:</th> | |
| 134 <td colspan=3> | |
| 135 <input type="hidden" name="@link@files" value="file-1"> | |
| 136 <input type="file" name="file-1@content" size="40"> | |
| 137 </td> | |
| 138 </tr> | |
| 139 <tr tal:condition="context/is_edit_ok"> | |
| 140 <th><tal:block i18n:translate="">File Description</tal:block>:</th> | |
| 141 <td colspan=3><input type="edit" name="file-1@description" size="40"></td> | |
| 142 </tr> | |
| 143 </table> | |
| 144 </fieldset> | |
| 145 <table class="form"> | |
| 146 <tr tal:condition="context/is_edit_ok"> | |
| 147 <td> | |
| 148 | |
| 149 <input type="hidden" name="@template" value="item"> | |
| 150 <input type="hidden" name="@required" value="title"> | |
| 151 </td> | |
| 152 <td colspan=3> | |
| 153 <span tal:replace="structure context/submit">submit button</span> | |
| 154 <a tal:condition="context/id" tal:attributes="href context/copy_url" | |
| 155 i18n:translate="">Make a copy</a> | |
| 156 </td> | |
| 157 </tr> | |
| 158 </table> | |
| 159 </form> | |
| 160 | |
| 161 <p tal:condition="context/id" i18n:translate=""> | |
| 162 Created on <b><tal:x replace="python:context.creation.pretty('%Y-%m-%d %H:%M')" i18n:name="creation" /></b> | |
| 163 by <b><tal:x replace="context/creator" i18n:name="creator" /></b>, | |
| 164 last changed <b><tal:x replace="python:context.activity.pretty('%Y-%m-%d %H:%M')" i18n:name="activity" /></b> | |
| 165 by <b><tal:x replace="context/actor" i18n:name="actor" /></b>. | |
| 166 </p> | |
| 167 | |
| 168 <table class="files" tal:condition="context/files"> | |
| 169 <tr><th colspan="5" class="header" i18n:translate="">Files</th></tr> | |
| 170 <tr> | |
| 171 <th i18n:translate="">File name</th> | |
| 172 <th i18n:translate="">Uploaded</th> | |
| 173 <th i18n:translate="">Description</th> | |
| 174 <th i18n:translate="">Edit</th> | |
| 175 <th i18n:translate="">Remove</th> | |
| 176 </tr> | |
| 177 <tr tal:repeat="file python:context.files.sorted('creation')"> | |
| 178 <td> | |
| 179 <a tal:attributes="href file/download_url" | |
| 180 tal:content="file/name">dld link</a> | |
| 181 </td> | |
| 182 <td> | |
| 183 <span tal:content="file/creator">creator's name</span>, | |
| 184 <span tal:content="python:file.creation.pretty('%Y-%m-%d %H:%M')">creation date</span> | |
| 185 </td> | |
| 186 <td tal:content="file/description" /> | |
| 187 <td><a tal:condition="file/is_edit_ok" | |
| 188 tal:attributes="href string:file${file/id}">edit</a> | |
| 189 </td> | |
| 190 <td> | |
| 191 <form style="padding:0" tal:condition="file/is_edit_ok" | |
| 192 tal:attributes="action string:task${context/id}"> | |
|
5207
4a157824f933
changes to try to deploy anti-csrf defense to other templates.
John Rouillard <rouilj@ieee.org>
parents:
4455
diff
changeset
|
193 <input name="@csrf" type="hidden" |
|
4a157824f933
changes to try to deploy anti-csrf defense to other templates.
John Rouillard <rouilj@ieee.org>
parents:
4455
diff
changeset
|
194 tal:attributes="value python:utils.anti_csrf_nonce()"> |
| 4434 | 195 <input type="hidden" name="@remove@files" tal:attributes="value file/id"> |
| 196 <input type="hidden" name="@action" value="edit"> | |
| 197 <input type="submit" value="remove" i18n:attributes="value"> | |
| 198 </form> | |
| 199 </td> | |
| 200 </tr> | |
| 201 </table> | |
| 202 | |
| 203 <table class="messages" tal:condition="context/messages"> | |
| 204 <tr><th colspan="4" class="header" i18n:translate="">Messages</th></tr> | |
| 205 <tal:block tal:repeat="msg context/messages"> | |
| 206 <tr> | |
| 207 <th><a tal:attributes="href string:msg${msg/id}" | |
| 208 i18n:translate="">msg<tal:x replace="msg/id" i18n:name="id" /></a></th> | |
| 209 <th i18n:translate="">Author: <tal:x replace="python:msg.author.realname.plain()" | |
| 210 i18n:name="author" /> (<tal:x replace="msg/author"/>)</th> | |
| 211 <th i18n:translate="">Date: <tal:x replace="python:msg.date.pretty('%Y-%m-%d %H:%M')" | |
| 212 i18n:name="date" /></th> | |
| 213 <th> | |
| 214 <form style="padding:0" tal:condition="msg/is_edit_ok" | |
| 215 tal:attributes="action string:task${context/id}"> | |
|
5207
4a157824f933
changes to try to deploy anti-csrf defense to other templates.
John Rouillard <rouilj@ieee.org>
parents:
4455
diff
changeset
|
216 <input type="hidden" name="@remove@messages" |
|
4a157824f933
changes to try to deploy anti-csrf defense to other templates.
John Rouillard <rouilj@ieee.org>
parents:
4455
diff
changeset
|
217 tal:attributes="value msg/id"> |
|
4a157824f933
changes to try to deploy anti-csrf defense to other templates.
John Rouillard <rouilj@ieee.org>
parents:
4455
diff
changeset
|
218 <input name="@csrf" type="hidden" |
|
4a157824f933
changes to try to deploy anti-csrf defense to other templates.
John Rouillard <rouilj@ieee.org>
parents:
4455
diff
changeset
|
219 tal:attributes="value python:utils.anti_csrf_nonce()"> |
| 4434 | 220 <input type="hidden" name="@action" value="edit"> |
| 221 <input type="submit" value="remove" i18n:attributes="value"> | |
| 222 </form> | |
| 223 </th> | |
| 224 </tr> | |
| 225 <tr> | |
| 226 <td colspan="4" class="content"> | |
| 227 <pre tal:condition="python:msg.content.is_view_ok()" | |
| 228 tal:content="structure python:utils.localReplace(msg.content.hyperlinked())">content</pre> | |
| 229 </td> | |
| 230 </tr> | |
| 231 </tal:block> | |
| 232 </table> | |
| 233 | |
| 234 <tal:block tal:condition="context/id" tal:replace="structure context/history" /> | |
| 235 | |
| 236 </div> | |
| 237 | |
| 238 </td> | |
| 239 | |
| 240 </tal:block> |
