slitaz-forge annotate bugs/templates/slitaz/html/page.html @ rev 343

A more useful hg link
author Pascal Bellard <pascal.bellard@slitaz.org>
date Thu Jan 24 15:38:27 2013 +0100 (2013-01-24)
parents 0215383b014c
children
rev   line source
pankso@64 1 <!-- vim:sw=2 sts=2
pankso@64 2 --><tal:block metal:define-macro="icing"
pankso@64 3 ><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
pankso@64 4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
pankso@64 5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
pankso@64 6 <head>
pankso@64 7 <title metal:define-slot="head_title">title goes here</title>
pankso@64 8 <link rel="stylesheet" type="text/css" href="@@file/style.css" />
pankso@64 9 <link rel="shortcut icon" href="@@file/favicon.ico" />
pankso@64 10 <meta http-equiv="Content-Type"
pankso@64 11 tal:attributes="content string:text/html;; charset=${request/client/charset}" />
pankso@64 12 <script tal:replace="structure request/base_javascript">
pankso@64 13 </script>
pankso@64 14 <metal:x define-slot="more-javascript" />
pankso@64 15
pankso@64 16 </head>
pankso@64 17 <body>
pankso@64 18
pankso@64 19 <!-- Header -->
pankso@64 20 <div id="header">
pankso@64 21 <div id="logo"></div>
pankso@64 22 <div id="network">
pankso@64 23 <a href="http://www.slitaz.org/">
pankso@64 24 <img src="http://tank.slitaz.org/images/network.png"
pankso@64 25 alt="network.png" /></a>
pankso@64 26 <a href="http://scn.slitaz.org/">Community</a>
pankso@64 27 <a href="http://doc.slitaz.org/">Doc</a>
pankso@64 28 <a href="http://forum.slitaz.org/">Forum</a>
pankso@64 29 <a href="http://bugs.slitaz.org/">Bugs</a>
pascal@343 30 <a href="http://hg.slitaz.org/?sort=lastchange">Hg</a>
pankso@64 31 </div>
pankso@64 32 <h1><a href="http://bugs.slitaz.org/">SliTaz Bugs</a></h1>
pankso@64 33 </div>
pankso@64 34
pankso@64 35 <!-- Block -->
pankso@64 36 <div id="block">
pankso@64 37 <!-- Navigation
pankso@64 38 <div id="block_nav" style="text-align: center; padding: 10px;">
pankso@64 39
pankso@64 40 </div>-->
pankso@64 41 <!-- Information/image -->
pankso@64 42 <div id="block_info">
pankso@64 43 <h4>SliTaz Bug Tracking System</h4>
pankso@64 44 <p>
paul@73 45 Lets you track bugs, feature requests and tasks in one easy to
pankso@64 46 use and centralized place.
pankso@64 47 </p>
pankso@64 48 </div>
pankso@64 49 </div>
pankso@64 50
pankso@64 51 <table class="body"
pankso@64 52 tal:define="
pankso@64 53 kw_edit python:request.user.hasPermission('Edit', 'keyword');
pankso@64 54 kw_create python:request.user.hasPermission('Create', 'keyword');
pankso@64 55 kw_edit_link python:kw_edit and db.keyword.list();
pankso@64 56 columns string:id,activity,title,creator,status;
pankso@64 57 columns_showall string:id,activity,title,creator,assignedto,status;
pankso@64 58 status_notresolved string:-1,1,2,3,4,5,6,7;
pankso@64 59 "
pankso@64 60 >
pankso@64 61
pankso@64 62 <tr>
pankso@64 63 <td class="page-header-left">&nbsp;</td>
pankso@64 64 <td class="page-header-top">
pankso@64 65 <div id="searchbox">
pankso@64 66 <form method="get" action="issue">
pankso@64 67 <input type="hidden" name="@columns"
pankso@64 68 tal:attributes="value columns_showall"
pankso@64 69 value="id,activity,title,creator,assignedto,status" />
pankso@64 70 <input type="hidden" name="@sort" value="activity" />
pankso@64 71 <input type="hidden" name="@group" value="priority" />
pankso@64 72 <input id="search-text" name="@search_text" size="10"
pankso@64 73 tal:attributes="value request/search_text | default" />
pankso@64 74 <input type="submit" id="submit" name="submit" value="Search"
pankso@64 75 i18n:attributes="value" />
pankso@64 76 </form>
pankso@64 77 </div>
pankso@64 78 <div id="body-title">
pankso@64 79 <h2><span metal:define-slot="body_title">body title</span></h2>
pankso@64 80 </div>
pankso@64 81 </td>
pankso@64 82 </tr>
pankso@64 83
pankso@64 84 <tr>
pankso@64 85 <td rowspan="2" valign="top" class="sidebar">
pankso@64 86 <p class="classblock"
pankso@64 87 tal:condition="python:request.user.hasPermission('View', 'query')">
pankso@64 88 <span i18n:translate=""
pankso@64 89 ><b>Your Queries</b> (<a href="query?@template=edit">edit</a>)</span><br />
pankso@64 90 <tal:block tal:repeat="qs request/user/queries">
pankso@64 91 <a href="#" tal:attributes="href string:${qs/klass}?${qs/url}&@dispname=${qs/name}"
pankso@64 92 tal:content="qs/name">link</a><br />
pankso@64 93 </tal:block>
pankso@64 94 </p>
pankso@64 95
pankso@64 96 <form method="post" tal:attributes="action request/base">
pankso@64 97 <p class="classblock"
pankso@64 98 tal:condition="python:request.user.hasPermission('View', 'issue')">
pankso@64 99 <b i18n:translate="">Issues</b><br />
pankso@64 100 <span tal:condition="python:request.user.hasPermission('Create', 'issue')">
pankso@64 101 <a href="issue?@template=item" i18n:translate="">Create New</a><br />
pankso@64 102 </span>
pankso@64 103 <a href="#"
pankso@64 104 tal:attributes="href python:request.indexargs_url('issue', {
pankso@64 105 '@sort': '-activity',
pankso@64 106 '@group': 'priority',
pankso@64 107 '@filter': 'status,assignedto',
pankso@64 108 '@columns': columns,
pankso@64 109 '@search_text': '',
pankso@64 110 'status': status_notresolved,
pankso@64 111 'assignedto': '-1',
pankso@64 112 '@dispname': i18n.gettext('Show Unassigned'),
pankso@64 113 })"
pankso@64 114 i18n:translate="">Show Unassigned</a><br />
pankso@64 115 <a href="#"
pankso@64 116 tal:attributes="href python:request.indexargs_url('issue', {
pankso@64 117 '@sort': '-activity',
pankso@64 118 '@group': 'priority',
pankso@64 119 '@filter': 'status',
pankso@64 120 '@columns': columns_showall,
pankso@64 121 '@search_text': '',
pankso@64 122 'status': status_notresolved,
pankso@64 123 '@dispname': i18n.gettext('Show All'),
pankso@64 124 })"
pankso@64 125 i18n:translate="">Show All</a><br />
pankso@64 126 <a href="issue?@template=search" i18n:translate="">Search</a><br />
pankso@64 127 <input type="submit" class="form-small" value="Show issue:"
pankso@64 128 i18n:attributes="value" /><input class="form-small" size="4"
pankso@64 129 type="text" name="@number" />
pankso@64 130 <input type="hidden" name="@type" value="issue" />
pankso@64 131 <input type="hidden" name="@action" value="show" />
pankso@64 132 </p>
pankso@64 133 </form>
pankso@64 134
pankso@64 135 <p class="classblock"
pankso@64 136 tal:condition="python:kw_edit or kw_create">
pankso@64 137 <b i18n:translate="">Keywords</b><br />
pankso@64 138 <span tal:condition="python:request.user.hasPermission('Create', 'keyword')">
pankso@64 139 <a href="keyword?@template=item" i18n:translate="">Create New</a><br />
pankso@64 140 </span>
pankso@64 141 <span tal:condition="kw_edit_link">
pankso@64 142 <a href="keyword?@template=item" i18n:translate="">Edit Existing</a><br />
pankso@64 143 </span>
pankso@64 144 </p>
pankso@64 145
pankso@64 146 <p class="classblock"
pankso@64 147 tal:condition="python:request.user.hasPermission('View', 'user')">
pankso@64 148 <b i18n:translate="">Administration</b><br />
pankso@64 149 <span tal:condition="python:request.user.hasPermission('Edit', None)">
pankso@64 150 <a href="home?@template=classlist" i18n:translate="">Class List</a><br />
pankso@64 151 </span>
pankso@64 152 <span tal:condition="python:request.user.hasPermission('View', 'user')
pankso@64 153 or request.user.hasPermission('Edit', 'user')">
pankso@64 154 <a href="user" i18n:translate="">User List</a><br />
pankso@64 155 </span>
pankso@64 156 <a tal:condition="python:request.user.hasPermission('Create', 'user')"
pankso@64 157 href="user?@template=item" i18n:translate="">Add User</a>
pankso@64 158 </p>
pankso@64 159
pankso@64 160 <form method="post" tal:condition="python:request.user.username=='anonymous'"
pankso@64 161 tal:attributes="action request/base">
pankso@64 162 <p class="userblock">
pankso@64 163 <b i18n:translate="">Login</b><br />
pankso@64 164 <input size="18" name="__login_name" /><br />
pankso@64 165 <input size="18" type="password" name="__login_password" /><br />
pankso@64 166 <input type="hidden" name="@action" value="Login" />
pankso@64 167 <input type="checkbox" name="remember" id="remember" />
pankso@64 168 <label for="remember" i18n:translate="">Remember me?</label><br />
pankso@64 169 <input type="submit" value="Login" i18n:attributes="value" /><br />
pankso@64 170 <input type="hidden" name="__came_from"
pankso@64 171 tal:attributes="value string:${request/base}${request/env/PATH_INFO}" />
pankso@64 172 <span tal:replace="structure request/indexargs_form" />
pankso@64 173 <a href="user?@template=register"
pankso@64 174 tal:condition="python:request.user.hasPermission('Register', 'user')"
pankso@64 175 i18n:translate="">Register</a><br />
pankso@64 176 <a href="user?@template=forgotten" i18n:translate="">Lost&nbsp;your&nbsp;login?</a><br />
pankso@64 177 </p>
pankso@64 178 </form>
pankso@64 179
pankso@64 180 <p class="userblock" tal:condition="python:request.user.username != 'anonymous'">
pankso@64 181 <b i18n:translate="">Hello, <span i18n:name="user"
pankso@64 182 tal:replace="python:request.user.username.plain(escape=1)">username</span></b><br />
pankso@64 183 <a href="#"
pankso@64 184 tal:attributes="href python:request.indexargs_url('issue', {
pankso@64 185 '@sort': '-activity',
pankso@64 186 '@group': 'priority',
pankso@64 187 '@filter': 'status,assignedto',
pankso@64 188 '@columns': 'id,activity,title,creator,status',
pankso@64 189 '@search_text': '',
pankso@64 190 'status': status_notresolved,
pankso@64 191 'assignedto': request.user.id,
pankso@64 192 '@dispname': i18n.gettext('Your Issues'),
pankso@64 193 })"
pankso@64 194 i18n:translate="">Your Issues</a><br />
pankso@64 195 <a href="#" tal:attributes="href string:user${request/user/id}"
pankso@64 196 i18n:translate="">Your Details</a><br />
pankso@64 197 <a href="#" tal:attributes="href python:request.indexargs_url('',
pankso@64 198 {'@action':'logout'})" i18n:translate="">Logout</a>
pankso@64 199 </p>
pankso@64 200 </td>
pankso@64 201 <td>
pankso@64 202 <p tal:condition="options/error_message | nothing" class="error-message"
pankso@64 203 tal:repeat="m options/error_message" tal:content="structure m" />
pankso@64 204 <p tal:condition="options/ok_message | nothing" class="ok-message">
pankso@64 205 <span tal:repeat="m options/ok_message"
pankso@64 206 tal:content="structure string:$m <br/ > " />
pankso@64 207 <a class="form-small" tal:attributes="href request/current_url"
pankso@64 208 i18n:translate="">clear this message</a>
pankso@64 209 </p>
pankso@64 210 </td>
pankso@64 211 </tr>
pankso@64 212 <tr>
pankso@64 213 <td class="content" metal:define-slot="content">Page content goes here</td>
pankso@64 214 </tr>
pankso@64 215
pankso@64 216 </table>
pankso@64 217
pankso@64 218 <pre tal:condition="request/form/debug | nothing" tal:content="request">
pankso@64 219 </pre>
pankso@64 220
pankso@64 221 <!-- Footer -->
pankso@64 222 <div id="footer">
pankso@64 223 Copyright &copy; <span class="year"></span>
pankso@64 224 <a href="http://www.slitaz.org/">SliTaz</a> - Network:
pankso@64 225 <a href="http://scn.slitaz.org/">Community</a>
pankso@64 226 <a href="http://doc.slitaz.org/">Doc</a>
pankso@64 227 <a href="http://forum.slitaz.org/">Forum</a>
pankso@64 228 <a href="http://pkgs.slitaz.org/">Packages</a>
pankso@64 229 <a href="http://bugs.slitaz.org/">Bugs</a>
pankso@64 230 <a href="http://hg.slitaz.org/">Hg</a>
pankso@64 231 <p>
pankso@64 232 SliTaz @
pankso@64 233 <a href="http://twitter.com/slitaz">Twitter</a>
pankso@64 234 <a href="http://www.facebook.com/slitaz">Facebook</a>
pankso@64 235 <a href="http://distrowatch.com/slitaz">Distrowatch</a>
pankso@64 236 <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a>
pankso@64 237 <a href="http://flattr.com/profile/slitaz">Flattr</a>
pankso@64 238 </p>
pankso@64 239 </div>
pankso@64 240
pankso@64 241 </body>
pankso@64 242 </html>
pankso@64 243 </tal:block>
pankso@64 244
pankso@64 245 <!--
pankso@64 246 The following macros are intended to be used in search pages.
pankso@64 247
pankso@64 248 The invoking context must define a "name" variable which names the
pankso@64 249 property being searched.
pankso@64 250
pankso@64 251 See issue.search.html in the classic template for examples.
pankso@64 252 -->
pankso@64 253
pankso@64 254 <!-- creates a th and a label: -->
pankso@64 255 <th metal:define-macro="th_label"
pankso@64 256 tal:define="required required | python:[]"
pankso@64 257 tal:attributes="class python:(name in required) and 'required' or nothing">
pankso@64 258 <label tal:attributes="for name" tal:content="label" i18n:translate="">text</label>
pankso@64 259 <metal:x define-slot="behind_the_label" />
pankso@64 260 </th>
pankso@64 261
pankso@64 262 <td metal:define-macro="search_input">
pankso@64 263 <input tal:attributes="value python:request.form.getvalue(name) or nothing;
pankso@64 264 name name;
pankso@64 265 id name" />
pankso@64 266 </td>
pankso@64 267
pankso@64 268 <td metal:define-macro="search_date">
pankso@64 269 <input tal:attributes="value python:request.form.getvalue(name) or nothing;
pankso@64 270 name name;
pankso@64 271 id name" />
pankso@64 272 <a class="classhelp"
pankso@64 273 tal:attributes="href python:'''javascript:help_window('issue?@template=calendar&property=%s&form=itemSynopsis', 300, 200)'''%name">(cal)</a>
pankso@64 274 </td>
pankso@64 275
pankso@64 276 <td metal:define-macro="search_popup">
pankso@64 277 <!--
pankso@64 278 context needs to specify the popup "columns" as a comma-separated
pankso@64 279 string (eg. "id,title" or "id,name,description") as well as name
pankso@64 280 -->
pankso@64 281 <input tal:attributes="value python:request.form.getvalue(name) or nothing;
pankso@64 282 name name;
pankso@64 283 id name" />
pankso@64 284 <span tal:replace="structure python:db[db_klass].classhelp(columns,
pankso@64 285 property=name)" />
pankso@64 286 </td>
pankso@64 287
pankso@64 288 <td metal:define-macro="search_select">
pankso@64 289 <select tal:attributes="name name; id name"
pankso@64 290 tal:define="value python:request.form.getvalue(name)">
pankso@64 291 <option value="" i18n:translate="">don't care</option>
pankso@64 292 <metal:slot define-slot="extra_options" />
pankso@64 293 <option value="" i18n:translate="" disabled="disabled">------------</option>
pankso@64 294 <option tal:repeat="s python:db[db_klass].list()"
pankso@64 295 tal:attributes="value s/id; selected python:value == s.id"
pankso@64 296 tal:content="python:s[db_content]"></option>
pankso@64 297 </select>
pankso@64 298 </td>
pankso@64 299
pankso@64 300 <!-- like search_select, but translates the further values.
pankso@64 301 Could extend it (METAL 1.1 attribute "extend-macro")
pankso@64 302 -->
pankso@64 303 <td metal:define-macro="search_select_translated">
pankso@64 304 <select tal:attributes="name name; id name"
pankso@64 305 tal:define="value python:request.form.getvalue(name)">
pankso@64 306 <option value="" i18n:translate="">don't care</option>
pankso@64 307 <metal:slot define-slot="extra_options" />
pankso@64 308 <option value="" i18n:translate="" disabled="disabled">------------</option>
pankso@64 309 <option tal:repeat="s python:db[db_klass].list()"
pankso@64 310 tal:attributes="value s/id; selected python:value == s.id"
pankso@64 311 tal:content="python:s[db_content]"
pankso@64 312 i18n:translate=""></option>
pankso@64 313 </select>
pankso@64 314 </td>
pankso@64 315
pankso@64 316 <!-- currently, there is no convenient API to get a list of all roles -->
pankso@64 317 <td metal:define-macro="search_select_roles"
pankso@64 318 tal:define="onchange onchange | nothing">
pankso@64 319 <select name=roles id=roles tal:attributes="onchange onchange">
pankso@64 320 <option value="" i18n:translate="">don't care</option>
pankso@64 321 <option value="" i18n:translate="" disabled="disabled">------------</option>
pankso@64 322 <option value="User">User</option>
pankso@64 323 <option value="Admin">Admin</option>
pankso@64 324 <option value="Anonymous">Anonymous</option>
pankso@64 325 </select>
pankso@64 326 </td>
pankso@64 327
pankso@64 328 <td metal:define-macro="search_multiselect">
pankso@64 329 <input tal:attributes="value python:request.form.getvalue(name) or nothing;
pankso@64 330 name name;
pankso@64 331 id name">
pankso@64 332 <span tal:replace="structure python:db[db_klass].classhelp(db_content,
pankso@64 333 property=name, width='600')" />
pankso@64 334 </td>
pankso@64 335
pankso@64 336 <td metal:define-macro="search_checkboxes">
pankso@64 337 <ul class="search-checkboxes"
pankso@64 338 tal:define="value python:request.form.getvalue(name);
pankso@64 339 values python:value and value.split(',') or []">
pankso@64 340 <li tal:repeat="s python:db[db_klass].list()">
pankso@64 341 <input type="checkbox" tal:attributes="name name; id string:$name-${s/id};
pankso@64 342 value s/id; checked python:s.id in values" />
pankso@64 343 <label tal:attributes="for string:$name-${s/id}"
pankso@64 344 tal:content="python:s[db_content]" />
pankso@64 345 </li>
pankso@64 346 <li metal:define-slot="no_value_item">
pankso@64 347 <input type="checkbox" value="-1" tal:attributes="name name;
pankso@64 348 id string:$name--1; checked python:value == '-1'" />
pankso@64 349 <label tal:attributes="for string:$name--1" i18n:translate="">no value</label>
pankso@64 350 </li>
pankso@64 351 </ul>
pankso@64 352 </td>
pankso@64 353
pankso@64 354 <td metal:define-macro="column_input">
pankso@64 355 <input type="checkbox" name="@columns"
pankso@64 356 tal:attributes="value name;
pankso@64 357 checked python:name in cols" />
pankso@64 358 </td>
pankso@64 359
pankso@64 360 <td metal:define-macro="sort_input">
pankso@64 361 <input type="radio" name="@sort"
pankso@64 362 tal:attributes="value name;
pankso@64 363 checked python:name == sort_on"> /
pankso@64 364 </td>
pankso@64 365
pankso@64 366 <td metal:define-macro="group_input">
pankso@64 367 <input type="radio" name="@group"
pankso@64 368 tal:attributes="value name;
pankso@64 369 checked python:name == group_on" />
pankso@64 370 </td>
pankso@64 371
pankso@64 372 <!--
pankso@64 373 The following macros are intended for user editing.
pankso@64 374
pankso@64 375 The invoking context must define a "name" variable which names the
pankso@64 376 property being searched; the "edit_ok" variable tells whether the
pankso@64 377 current user is allowed to edit.
pankso@64 378
pankso@64 379 See user.item.html in the classic template for examples.
pankso@64 380 -->
pankso@64 381 <script metal:define-macro="user_utils" type="text/javascript" src="@@file/user_utils.js"></script>
pankso@64 382
pankso@64 383 <!-- src: value will be re-used for other input fields -->
pankso@64 384 <input metal:define-macro="user_src_input"
pankso@64 385 type="text" tal:attributes="onblur python:edit_ok and 'split_name(this)';
pankso@64 386 id name; name name; value value; readonly not:edit_ok"
pankso@64 387 value="heinz.kunz" />
pankso@64 388 <!-- normal: no re-using -->
pankso@64 389 <input metal:define-macro="user_normal_input" type="text"
pankso@64 390 tal:attributes="id name; name name; value value; readonly not:edit_ok"
pankso@64 391 value="heinz" />
pankso@64 392 <!-- password: type; no initial value -->
pankso@64 393 <input metal:define-macro="user_pw_input" type="password"
pankso@64 394 tal:attributes="id name; name name; readonly not:edit_ok" value="" />
pankso@64 395 <input metal:define-macro="user_confirm_input" type="password"
pankso@64 396 tal:attributes="id name; name string:@confirm@$name; readonly not:edit_ok" value="" />