paul@0 | 1 | <!-- $Id: issue.index.html,v 1.29 2007-09-18 17:44:26 jpend Exp $ --> |
paul@0 | 2 | <tal:block metal:use-macro="templates/page/macros/icing"> |
paul@0 | 3 | <title metal:fill-slot="head_title" > |
paul@0 | 4 | <span tal:omit-tag="true" i18n:translate="" >List of issues</span> |
paul@0 | 5 | <span tal:condition="request/dispname" |
paul@0 | 6 | tal:replace="python:' - %s '%request.dispname" |
paul@0 | 7 | /> - <span tal:replace="config/TRACKER_NAME" /> |
paul@0 | 8 | </title> |
paul@0 | 9 | <span metal:fill-slot="body_title" tal:omit-tag="true"> |
paul@0 | 10 | <span tal:omit-tag="true" i18n:translate="" >List of issues</span> |
paul@0 | 11 | <span tal:condition="request/dispname" |
paul@0 | 12 | tal:replace="python:' - %s' % request.dispname" /> |
paul@0 | 13 | </span> |
paul@0 | 14 | <td class="content" metal:fill-slot="content"> |
paul@0 | 15 | |
paul@0 | 16 | <p tal:condition="python:not (context.is_view_ok() |
paul@0 | 17 | or request.user.hasRole('Anonymous'))" i18n:translate=""> |
paul@0 | 18 | You are not allowed to view this page.</p> |
paul@0 | 19 | |
paul@0 | 20 | <p tal:condition="python:not context.is_view_ok() |
paul@0 | 21 | and request.user.hasRole('Anonymous')" i18n:translate=""> |
paul@0 | 22 | Please login with your username and password.</p> |
paul@0 | 23 | |
paul@0 | 24 | <tal:block tal:define="batch request/batch" tal:condition="context/is_view_ok"> |
paul@0 | 25 | <table class="list"> |
paul@0 | 26 | <tr> |
paul@0 | 27 | <th tal:condition="request/show/priority" i18n:translate="">Priority</th> |
paul@0 | 28 | <th tal:condition="request/show/id" i18n:translate="">ID</th> |
paul@0 | 29 | <th tal:condition="request/show/creation" i18n:translate="">Creation</th> |
paul@0 | 30 | <th tal:condition="request/show/activity" i18n:translate="">Activity</th> |
paul@0 | 31 | <th tal:condition="request/show/actor" i18n:translate="">Actor</th> |
paul@0 | 32 | <th tal:condition="request/show/keyword" i18n:translate="">Keyword</th> |
paul@0 | 33 | <th tal:condition="request/show/title" i18n:translate="">Title</th> |
paul@0 | 34 | <th tal:condition="request/show/status" i18n:translate="">Status</th> |
paul@0 | 35 | <th tal:condition="request/show/creator" i18n:translate="">Creator</th> |
paul@0 | 36 | <th tal:condition="request/show/assignedto" i18n:translate="">Assigned To</th> |
paul@0 | 37 | </tr> |
paul@0 | 38 | <tal:block tal:repeat="i batch" condition=true> |
paul@0 | 39 | <tr tal:define="group python:[r[1] for r in request.group]" |
paul@0 | 40 | tal:condition="python:group and batch.propchanged(*group)"> |
paul@0 | 41 | <th tal:attributes="colspan python:len(request.columns)" class="group"> |
paul@0 | 42 | <tal:block tal:repeat="g group"> |
paul@0 | 43 | <tal:block i18n:translate="" tal:content="python:str(i[g]) or '(no %s set)'%g"/> |
paul@0 | 44 | </tal:block> |
paul@0 | 45 | </th> |
paul@0 | 46 | </tr> |
paul@0 | 47 | |
paul@0 | 48 | <tr> |
paul@0 | 49 | <td tal:condition="request/show/priority" |
paul@0 | 50 | tal:content="python:i.priority.plain() or default"> </td> |
paul@0 | 51 | <td tal:condition="request/show/id" tal:content="i/id"> </td> |
paul@0 | 52 | <td class="date" tal:condition="request/show/creation" |
paul@0 | 53 | tal:content="i/creation/reldate"> </td> |
paul@0 | 54 | <td class="date" tal:condition="request/show/activity" |
paul@0 | 55 | tal:content="i/activity/reldate"> </td> |
paul@0 | 56 | <td class="date" tal:condition="request/show/actor" |
paul@0 | 57 | tal:content="python:i.actor.plain() or default"> </td> |
paul@0 | 58 | <td tal:condition="request/show/keyword" |
paul@0 | 59 | tal:content="python:i.keyword.plain() or default"> </td> |
paul@0 | 60 | <td tal:condition="request/show/title"> |
paul@0 | 61 | <a tal:attributes="href string:issue${i/id}" |
paul@0 | 62 | tal:content="python:str(i.title.plain(hyperlink=0)) or '[no title]'">title</a> |
paul@0 | 63 | </td> |
paul@0 | 64 | <td tal:condition="request/show/status" |
paul@0 | 65 | i18n:translate="" |
paul@0 | 66 | tal:content="python:i.status.plain() or default"> </td> |
paul@0 | 67 | <td tal:condition="request/show/creator" |
paul@0 | 68 | tal:content="python:i.creator.plain() or default"> </td> |
paul@0 | 69 | <td tal:condition="request/show/assignedto" |
paul@0 | 70 | tal:content="python:i.assignedto.plain() or default"> </td> |
paul@0 | 71 | </tr> |
paul@0 | 72 | |
paul@0 | 73 | </tal:block> |
paul@0 | 74 | |
paul@0 | 75 | <metal:index define-macro="batch-footer"> |
paul@0 | 76 | <tr tal:condition="batch"> |
paul@0 | 77 | <th tal:attributes="colspan python:len(request.columns)"> |
paul@0 | 78 | <table width="100%"> |
paul@0 | 79 | <tr class="navigation"> |
paul@0 | 80 | <th> |
paul@0 | 81 | <a tal:define="prev batch/previous" tal:condition="prev" |
paul@0 | 82 | tal:attributes="href python:request.indexargs_url(request.classname, |
paul@0 | 83 | {'@startwith':prev.first, '@pagesize':prev.size})" |
paul@0 | 84 | i18n:translate=""><< previous</a> |
paul@0 | 85 | |
paul@0 | 86 | </th> |
paul@0 | 87 | <th i18n:translate=""><span tal:replace="batch/start" i18n:name="start" |
paul@0 | 88 | />..<span tal:replace="python: batch.start + batch.length -1" i18n:name="end" |
paul@0 | 89 | /> out of <span tal:replace="batch/sequence_length" i18n:name="total" |
paul@0 | 90 | /></th> |
paul@0 | 91 | <th> |
paul@0 | 92 | <a tal:define="next batch/next" tal:condition="next" |
paul@0 | 93 | tal:attributes="href python:request.indexargs_url(request.classname, |
paul@0 | 94 | {'@startwith':next.first, '@pagesize':next.size})" |
paul@0 | 95 | i18n:translate="">next >></a> |
paul@0 | 96 | |
paul@0 | 97 | </th> |
paul@0 | 98 | </tr> |
paul@0 | 99 | </table> |
paul@0 | 100 | </th> |
paul@0 | 101 | </tr> |
paul@0 | 102 | </metal:index> |
paul@0 | 103 | </table> |
paul@0 | 104 | |
paul@0 | 105 | <a tal:attributes="href python:request.indexargs_url('issue', |
paul@0 | 106 | {'@action':'export_csv'})" i18n:translate="">Download as CSV</a> |
paul@0 | 107 | |
paul@0 | 108 | <form method="GET" class="index-controls" |
paul@0 | 109 | tal:attributes="action request/classname"> |
paul@0 | 110 | |
paul@0 | 111 | <table class="form" tal:define="n_sort python:2"> |
paul@0 | 112 | <tal:block tal:repeat="n python:range(n_sort)" tal:condition="batch"> |
paul@0 | 113 | <tr tal:define="key python:len(request.sort)>n and request.sort[n]"> |
paul@0 | 114 | <th> |
paul@0 | 115 | <tal:block tal:condition="not:n" i18n:translate="">Sort on:</tal:block> |
paul@0 | 116 | </th> |
paul@0 | 117 | <td> |
paul@0 | 118 | <select tal:attributes="name python:'@sort%d'%n"> |
paul@0 | 119 | <option value="" i18n:translate="">- nothing -</option> |
paul@0 | 120 | <option tal:repeat="col context/properties" |
paul@0 | 121 | tal:attributes="value col/_name; |
paul@0 | 122 | selected python:key and col._name == key[1]" |
paul@0 | 123 | tal:content="col/_name" |
paul@0 | 124 | i18n:translate="">column</option> |
paul@0 | 125 | </select> |
paul@0 | 126 | </td> |
paul@0 | 127 | <th i18n:translate="">Descending:</th> |
paul@0 | 128 | <td><input type="checkbox" tal:attributes="name python:'@sortdir%d'%n; |
paul@0 | 129 | checked python:key and key[0] == '-'"> |
paul@0 | 130 | </td> |
paul@0 | 131 | </tr> |
paul@0 | 132 | </tal:block> |
paul@0 | 133 | <tal:block tal:repeat="n python:range(n_sort)" tal:condition="batch"> |
paul@0 | 134 | <tr tal:define="key python:len(request.group)>n and request.group[n]"> |
paul@0 | 135 | <th> |
paul@0 | 136 | <tal:block tal:condition="not:n" i18n:translate="">Group on:</tal:block> |
paul@0 | 137 | </th> |
paul@0 | 138 | <td> |
paul@0 | 139 | <select tal:attributes="name python:'@group%d'%n"> |
paul@0 | 140 | <option value="" i18n:translate="">- nothing -</option> |
paul@0 | 141 | <option tal:repeat="col context/properties" |
paul@0 | 142 | tal:attributes="value col/_name; |
paul@0 | 143 | selected python:key and col._name == key[1]" |
paul@0 | 144 | tal:content="col/_name" |
paul@0 | 145 | i18n:translate="">column</option> |
paul@0 | 146 | </select> |
paul@0 | 147 | </td> |
paul@0 | 148 | <th i18n:translate="">Descending:</th> |
paul@0 | 149 | <td><input type="checkbox" tal:attributes="name python:'@groupdir%d'%n; |
paul@0 | 150 | checked python:key and key[0] == '-'"> |
paul@0 | 151 | </td> |
paul@0 | 152 | </tr> |
paul@0 | 153 | </tal:block> |
paul@0 | 154 | <tr><td colspan="4"> |
paul@0 | 155 | <input type="submit" value="Redisplay" i18n:attributes="value"> |
paul@0 | 156 | <tal:block tal:replace="structure |
paul@0 | 157 | python:request.indexargs_form(sort=0, group=0)" /> |
paul@0 | 158 | </td></tr> |
paul@0 | 159 | </table> |
paul@0 | 160 | </form> |
paul@0 | 161 | |
paul@0 | 162 | </tal:block> |
paul@0 | 163 | |
paul@0 | 164 | </td> |
paul@0 | 165 | </tal:block><tal:comment condition=false> vim: sw=1 ts=8 et si |
paul@0 | 166 | </tal:comment> |