Code

First steps towards HTML4.01 Strict validation.
[roundup.git] / templates / classic / html / page.html
1 <tal:block metal:define-macro="icing">
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
3                                "http://www.w3.org/TR/html4/strict.dtd">
4 <html>
5 <head>
6 <title metal:define-slot="head_title">title goes here</title>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8;">
9 <link rel="stylesheet" type="text/css" href="_file/style.css">
11 <script tal:replace="structure request/base_javascript">
12 </script>
14 </head>
15 <body class="body">
17 <table class="body">
19 <tr>
20  <td class="page-header-left">&nbsp;</td>
21  <td class="page-header-top" metal:define-slot="body_title"><h2>name</h2></td>
22 </tr>
24 <tr>
25  <td rowspan="2" valign="top" class="sidebar">
26   <p class="classblock" tal:condition="request/user/queries">
27    <b>Your Queries</b><br>
28    <tal:block tal:repeat="qs request/user/queries">
29     <a tal:attributes="href string:${qs/klass}?${qs/url}"
30        tal:content="qs/name">link</a><br>
31    </tal:block>
32   </p>
34   <form method="POST" action=".">
35    <p class="classblock"
36        tal:condition="python:request.user.hasPermission('View', 'issue')">
37     <b>Issues</b><br>
38     <a tal:condition="python:request.user.hasPermission('Edit', 'issue')"
39       href="issue?:template=item">Create New<br></a>
40     <a href="issue?:sort=-activity&:group=priority&:filter=status,assignedto&:columns=id,activity,title,creator,status&status=-1,1,2,3,4,5,6,7&assignedto=-1">Show Unassigned</a><br>
41     <a href="issue?:sort=-activity&:group=priority&:filter=status&:columns=id,activity,title,creator,assignedto,status&status=-1,1,2,3,4,5,6,7">Show All</a><br>
42     <a href="issue?:template=search">Search</a><br>
43     <input type="submit" style="padding: 0" value="Show issue:"><input size="4" type="text" name=":number">
44     <input type="hidden" name=":type" value="issue">
45     <input type="hidden" name=":action" value="show">
46    </p>
47   </form>
49   <p class="classblock"
50      tal:condition="python:request.user.hasPermission('View', 'keyword')">
51    <b>Keywords</b><br>
52    <a tal:condition="python:request.user.hasPermission('Edit', 'keyword')"
53       href="keyword?:template=item">Create New<br></a>
54    <a tal:condition="python:request.user.hasPermission('Edit', 'keyword') and
55                             len(db.keyword.list())"
56       href="keyword?:template=item">Edit Existing<br></a>
57   </p>
59   <p class="classblock"
60        tal:condition="python:request.user.username != 'anonymous'">
61    <b>Administration</b><br>
62    <tal:block tal:condition="python:request.user.hasPermission('Edit', None)">
63     <a href="home?:template=classlist">Class List</a><br>
64    </tal:block>
65    <a tal:condition="python:request.user.hasPermission('View', 'user')
66                             or request.user.hasPermission('Edit', 'user')"
67       href="user" >User List</a><br>
68    <a tal:condition="python:request.user.hasPermission('Edit', 'user')"
69       href="user?:template=item">Add User</a>
70   </p>
72   <form method="POST" action=".">
73    <p class="userblock" tal:condition="python:request.user.username=='anonymous'">
74     <b>Login</b><br>
75     <input size="10" name="__login_name"><br>
76     <input size="10" type="password" name="__login_password"><br>
77     <input type="submit" name=":action" value="Login"><br>
78     <span tal:replace="structure request/indexargs_form" />
79     <a href="user?:template=register">Register</a><br>
80     <a href="user?:template=forgotten">Lost&nbsp;your&nbsp;login?</a><br>
81    </p>
82   </form>
83    
84   <p class="userblock" tal:condition="python:request.user.username != 'anonymous'">
85    <b>Hello,</b> <b tal:content="request/user/username">username</b><br>
86    <a tal:attributes="href string:issue?:sort=-activity&:group=priority&:filter=status,assignedto&:columns=id,activity,title,creator,status&status=-1,1,2,3,4,5,6,7&assignedto=${request/user/id}">My Issues</a><br>
87    <a tal:attributes="href string:user${request/user/id}">My Details</a><br>
88    <a tal:attributes="href python:request.indexargs_href('',
89        {':action':'logout'})">Logout</a>
90   </p>
91   <p class="userblock">
92    <b>Help</b><br>
93    <a href="http://roundup.sourceforge.net/doc-0.6/">Roundup docs</a>
94   </p>
95  </td>
96  <td>
97   <p tal:condition="options/error_message | nothing" class="error-message"
98      tal:repeat="m options/error_message" tal:content="structure m">error</p>
99   <p tal:condition="options/ok_message | nothing" class="ok-message"
100      tal:repeat="m options/ok_message" tal:content="structure m">error</p>
101  </td>
102 </tr>
103 <tr>
104  <td class="content" metal:define-slot="content">Page content goes here</td>
105 </tr>
107 </table>
109 <pre tal:condition="request/form/debug | nothing" tal:content="request">
110 </pre>
112 </body>
113 </html>
114 </tal:block>
116 <td metal:define-macro="search_input">
117   <input tal:attributes="value python:request.form.getvalue(name) or nothing;
118                          name name">
119 </td>
121 <td metal:define-macro="search_select">
122   <select tal:attributes="name name"
123           tal:define="value python:request.form.getvalue(name)">
124     <option value="">don't care</option>
125     <tal:block metal:define-slot="extra_options"></tal:block>
126     <option value="">------------</option>      
127     <option tal:repeat="s python:db[db_klass].list()"
128             tal:attributes="value s/id; selected python:value == s.id"
129             tal:content="python:s[db_content]"></option>
130   </select>
131 </td>
133 <td metal:define-macro="column_input">
134   <input type="checkbox" name=":columns"
135          tal:attributes="value name;
136                          checked python:name in cols">
137 </td>
139 <td metal:define-macro="sort_input">
140   <input type="radio" name=":sort"
141          tal:attributes="value name;
142                          checked python:name == sort_on">
143 </td>
145 <td metal:define-macro="group_input">
146   <input type="radio" name=":group"
147          tal:attributes="value name;
148                          checked python:name == group_on">
149 </td>