paul@0 | 1 | <tal:block metal:use-macro="templates/page/macros/icing"> |
paul@0 | 2 | <title metal:fill-slot="head_title" i18n:translate="">Issue searching - <span |
paul@0 | 3 | i18n:name="tracker" tal:replace="config/TRACKER_NAME" /></title> |
paul@0 | 4 | <span metal:fill-slot="body_title" tal:omit-tag="python:1" |
paul@0 | 5 | i18n:translate="">Issue searching</span> |
paul@0 | 6 | <td class="content" metal:fill-slot="content"> |
paul@0 | 7 | |
paul@0 | 8 | <form method="GET" name="itemSynopsis" |
paul@0 | 9 | tal:attributes="action request/classname"> |
paul@0 | 10 | |
paul@0 | 11 | <table class="form" tal:define=" |
paul@0 | 12 | cols python:request.columns or 'id activity title status assignedto'.split(); |
paul@0 | 13 | sort_on python:request.sort and request.sort[0] or nothing; |
paul@0 | 14 | sort_desc python:sort_on and sort_on[0] == '-'; |
paul@0 | 15 | sort_on python:(sort_on and sort_on[1]) or 'activity'; |
paul@0 | 16 | group_on python:request.group and request.group[0] or nothing; |
paul@0 | 17 | group_desc python:group_on and group_on[0] == '-'; |
paul@0 | 18 | group_on python:(group_on and group_on[1]) or 'priority'; |
paul@0 | 19 | |
paul@0 | 20 | search_input templates/page/macros/search_input; |
paul@0 | 21 | search_date templates/page/macros/search_date; |
paul@0 | 22 | column_input templates/page/macros/column_input; |
paul@0 | 23 | sort_input templates/page/macros/sort_input; |
paul@0 | 24 | group_input templates/page/macros/group_input; |
paul@0 | 25 | search_select templates/page/macros/search_select; |
paul@0 | 26 | search_select_translated templates/page/macros/search_select_translated; |
paul@0 | 27 | search_multiselect templates/page/macros/search_multiselect;"> |
paul@0 | 28 | |
paul@0 | 29 | <tr> |
paul@0 | 30 | <th class="header"> </th> |
paul@0 | 31 | <th class="header" i18n:translate="">Filter on</th> |
paul@0 | 32 | <th class="header" i18n:translate="">Display</th> |
paul@0 | 33 | <th class="header" i18n:translate="">Sort on</th> |
paul@0 | 34 | <th class="header" i18n:translate="">Group on</th> |
paul@0 | 35 | </tr> |
paul@0 | 36 | |
paul@0 | 37 | <tr tal:define="name string:@search_text"> |
paul@0 | 38 | <th i18n:translate="">All text*:</th> |
paul@0 | 39 | <td metal:use-macro="search_input"></td> |
paul@0 | 40 | <td> </td> |
paul@0 | 41 | <td> </td> |
paul@0 | 42 | <td> </td> |
paul@0 | 43 | </tr> |
paul@0 | 44 | |
paul@0 | 45 | <tr tal:define="name string:title"> |
paul@0 | 46 | <th i18n:translate="">Title:</th> |
paul@0 | 47 | <td metal:use-macro="search_input"></td> |
paul@0 | 48 | <td metal:use-macro="column_input"></td> |
paul@0 | 49 | <td metal:use-macro="sort_input"></td> |
paul@0 | 50 | <td> </td> |
paul@0 | 51 | </tr> |
paul@0 | 52 | |
paul@0 | 53 | <tr tal:define="name string:keyword; |
paul@0 | 54 | db_klass string:keyword; |
paul@0 | 55 | db_content string:name;"> |
paul@0 | 56 | <th i18n:translate="">Keyword:</th> |
paul@0 | 57 | <td metal:use-macro="search_select"> |
paul@0 | 58 | <option metal:fill-slot="extra_options" value="-1" i18n:translate="" |
paul@0 | 59 | tal:attributes="selected python:value == '-1'">not selected</option> |
paul@0 | 60 | </td> |
paul@0 | 61 | <td metal:use-macro="column_input"></td> |
paul@0 | 62 | <td metal:use-macro="sort_input"></td> |
paul@0 | 63 | <td metal:use-macro="group_input"></td> |
paul@0 | 64 | </tr> |
paul@0 | 65 | |
paul@0 | 66 | <tr tal:define="name string:id"> |
paul@0 | 67 | <th i18n:translate="">ID:</th> |
paul@0 | 68 | <td metal:use-macro="search_input"></td> |
paul@0 | 69 | <td metal:use-macro="column_input"></td> |
paul@0 | 70 | <td metal:use-macro="sort_input"></td> |
paul@0 | 71 | <td> </td> |
paul@0 | 72 | </tr> |
paul@0 | 73 | |
paul@0 | 74 | <tr tal:define="name string:creation"> |
paul@0 | 75 | <th i18n:translate="">Creation Date:</th> |
paul@0 | 76 | <td metal:use-macro="search_date"></td> |
paul@0 | 77 | <td metal:use-macro="column_input"></td> |
paul@0 | 78 | <td metal:use-macro="sort_input"></td> |
paul@0 | 79 | <td metal:use-macro="group_input"></td> |
paul@0 | 80 | </tr> |
paul@0 | 81 | |
paul@0 | 82 | <tr tal:define="name string:creator; |
paul@0 | 83 | db_klass string:user; |
paul@0 | 84 | db_content string:username;" |
paul@0 | 85 | tal:condition="db/user/is_view_ok"> |
paul@0 | 86 | <th i18n:translate="">Creator:</th> |
paul@0 | 87 | <td metal:use-macro="search_select"> |
paul@0 | 88 | <option metal:fill-slot="extra_options" i18n:translate="" |
paul@0 | 89 | tal:attributes="value request/user/id">created by me</option> |
paul@0 | 90 | </td> |
paul@0 | 91 | <td metal:use-macro="column_input"></td> |
paul@0 | 92 | <td metal:use-macro="sort_input"></td> |
paul@0 | 93 | <td metal:use-macro="group_input"></td> |
paul@0 | 94 | </tr> |
paul@0 | 95 | |
paul@0 | 96 | <tr tal:define="name string:activity"> |
paul@0 | 97 | <th i18n:translate="">Activity:</th> |
paul@0 | 98 | <td metal:use-macro="search_date"></td> |
paul@0 | 99 | <td metal:use-macro="column_input"></td> |
paul@0 | 100 | <td metal:use-macro="sort_input"></td> |
paul@0 | 101 | <td> </td> |
paul@0 | 102 | </tr> |
paul@0 | 103 | |
paul@0 | 104 | <tr tal:define="name string:actor; |
paul@0 | 105 | db_klass string:user; |
paul@0 | 106 | db_content string:username;" |
paul@0 | 107 | tal:condition="db/user/is_view_ok"> |
paul@0 | 108 | <th i18n:translate="">Actor:</th> |
paul@0 | 109 | <td metal:use-macro="search_select"> |
paul@0 | 110 | <option metal:fill-slot="extra_options" i18n:translate="" |
paul@0 | 111 | tal:attributes="value request/user/id">done by me</option> |
paul@0 | 112 | </td> |
paul@0 | 113 | <td metal:use-macro="column_input"></td> |
paul@0 | 114 | <td metal:use-macro="sort_input"></td> |
paul@0 | 115 | <td> </td> |
paul@0 | 116 | </tr> |
paul@0 | 117 | |
paul@0 | 118 | <tr tal:define="name string:priority; |
paul@0 | 119 | db_klass string:priority; |
paul@0 | 120 | db_content string:name;"> |
paul@0 | 121 | <th i18n:translate="">Priority:</th> |
paul@0 | 122 | <td metal:use-macro="search_select_translated"> |
paul@0 | 123 | <option metal:fill-slot="extra_options" value="-1" i18n:translate="" |
paul@0 | 124 | tal:attributes="selected python:value == '-1'">not selected</option> |
paul@0 | 125 | </td> |
paul@0 | 126 | <td metal:use-macro="column_input"></td> |
paul@0 | 127 | <td metal:use-macro="sort_input"></td> |
paul@0 | 128 | <td metal:use-macro="group_input"></td> |
paul@0 | 129 | </tr> |
paul@0 | 130 | |
paul@0 | 131 | <tr tal:define="name string:status; |
paul@0 | 132 | db_klass string:status; |
paul@0 | 133 | db_content string:name;"> |
paul@0 | 134 | <th i18n:translate="">Status:</th> |
paul@0 | 135 | <td metal:use-macro="search_select_translated"> |
paul@0 | 136 | <tal:block metal:fill-slot="extra_options"> |
paul@0 | 137 | <option value="-1,1,2,3,4,5,6,7" i18n:translate="" |
paul@0 | 138 | tal:attributes="selected python:value == '-1,1,2,3,4,5,6,7'">not resolved</option> |
paul@0 | 139 | <option value="-1" i18n:translate="" |
paul@0 | 140 | tal:attributes="selected python:value == '-1'">not selected</option> |
paul@0 | 141 | </tal:block> |
paul@0 | 142 | </td> |
paul@0 | 143 | <td metal:use-macro="column_input"></td> |
paul@0 | 144 | <td metal:use-macro="sort_input"></td> |
paul@0 | 145 | <td metal:use-macro="group_input"></td> |
paul@0 | 146 | </tr> |
paul@0 | 147 | |
paul@0 | 148 | <tr tal:define="name string:assignedto; |
paul@0 | 149 | db_klass string:user; |
paul@0 | 150 | db_content string:username;" |
paul@0 | 151 | tal:condition="db/user/is_view_ok"> |
paul@0 | 152 | <th i18n:translate="">Assigned to:</th> |
paul@0 | 153 | <td metal:use-macro="search_select"> |
paul@0 | 154 | <tal:block metal:fill-slot="extra_options"> |
paul@0 | 155 | <option tal:attributes="value request/user/id" |
paul@0 | 156 | i18n:translate="">assigned to me</option> |
paul@0 | 157 | <option value="-1" tal:attributes="selected python:value == '-1'" |
paul@0 | 158 | i18n:translate="">unassigned</option> |
paul@0 | 159 | </tal:block> |
paul@0 | 160 | </td> |
paul@0 | 161 | <td metal:use-macro="column_input"></td> |
paul@0 | 162 | <td metal:use-macro="sort_input"></td> |
paul@0 | 163 | <td metal:use-macro="group_input"></td> |
paul@0 | 164 | </tr> |
paul@0 | 165 | |
paul@0 | 166 | <tr> |
paul@0 | 167 | <th i18n:translate="">No Sort or group:</th> |
paul@0 | 168 | <td> </td> |
paul@0 | 169 | <td> </td> |
paul@0 | 170 | <td><input type="radio" name="@sort" value=""></td> |
paul@0 | 171 | <td><input type="radio" name="@group" value=""></td> |
paul@0 | 172 | </tr> |
paul@0 | 173 | |
paul@0 | 174 | <tr> |
paul@0 | 175 | <th i18n:translate="">Pagesize:</th> |
paul@0 | 176 | <td><input name="@pagesize" size="3" value="50" |
paul@0 | 177 | tal:attributes="value request/form/@pagesize/value | default"></td> |
paul@0 | 178 | </tr> |
paul@0 | 179 | |
paul@0 | 180 | <tr> |
paul@0 | 181 | <th i18n:translate="">Start With:</th> |
paul@0 | 182 | <td><input name="@startwith" size="3" value="0" |
paul@0 | 183 | tal:attributes="value request/form/@startwith/value | default"></td> |
paul@0 | 184 | </tr> |
paul@0 | 185 | |
paul@0 | 186 | <tr> |
paul@0 | 187 | <th i18n:translate="">Sort Descending:</th> |
paul@0 | 188 | <td><input type="checkbox" name="@sortdir" |
paul@0 | 189 | tal:attributes="checked sort_desc"> |
paul@0 | 190 | </td> |
paul@0 | 191 | </tr> |
paul@0 | 192 | |
paul@0 | 193 | <tr> |
paul@0 | 194 | <th i18n:translate="">Group Descending:</th> |
paul@0 | 195 | <td><input type="checkbox" name="@groupdir" |
paul@0 | 196 | tal:attributes="checked group_desc"> |
paul@0 | 197 | </td> |
paul@0 | 198 | </tr> |
paul@0 | 199 | |
paul@0 | 200 | <tr tal:condition="python:request.user.hasPermission('Edit', 'query')"> |
paul@0 | 201 | <th i18n:translate="">Query name**:</th> |
paul@0 | 202 | <td tal:define="value request/form/@queryname/value | nothing"> |
paul@0 | 203 | <input name="@queryname" tal:attributes="value value"> |
paul@0 | 204 | <input type="hidden" name="@old-queryname" tal:attributes="value value"> |
paul@0 | 205 | </td> |
paul@0 | 206 | </tr> |
paul@0 | 207 | |
paul@0 | 208 | <tr> |
paul@0 | 209 | <td> |
paul@0 | 210 | |
paul@0 | 211 | <input type="hidden" name="@action" value="search"> |
paul@0 | 212 | </td> |
paul@0 | 213 | <td><input type="submit" value="Search" i18n:attributes="value"></td> |
paul@0 | 214 | </tr> |
paul@0 | 215 | |
paul@0 | 216 | <tr><td> </td> |
paul@0 | 217 | <td colspan="4" class="help"> |
paul@0 | 218 | <span i18n:translate="" tal:omit-tag="true"> |
paul@0 | 219 | *: The "all text" field will look in message bodies and issue titles |
paul@0 | 220 | </span><br> |
paul@0 | 221 | <span tal:condition="python:request.user.hasPermission('Edit', 'query')" |
paul@0 | 222 | i18n:translate="" tal:omit-tag="true" |
paul@0 | 223 | > |
paul@0 | 224 | **: If you supply a name, the query will be saved off and available as a |
paul@0 | 225 | link in the sidebar |
paul@0 | 226 | </span> |
paul@0 | 227 | </td> |
paul@0 | 228 | </tr> |
paul@0 | 229 | </table> |
paul@0 | 230 | |
paul@0 | 231 | </form> |
paul@0 | 232 | </td> |
paul@0 | 233 | |
paul@0 | 234 | </tal:block> |