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"> </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 your 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 © <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="" />
|