1 <html metal:define-macro="icing">
2 <head>
3 <title metal:define-slot="head_title">title goes here</title>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8;">
6 <link rel="stylesheet" type="text/css" href="_file/style.css">
8 <script tal:replace="structure request/base_javascript">
9 </script>
11 </head>
12 <body class="body" marginwidth="0" marginheight="0">
14 <table class="body">
16 <tr>
17 <td class="page-header-left"> </td>
18 <td class="page-header-top" metal:define-slot="body_title"><h2>name</h2></td>
19 </tr>
21 <tr>
22 <td rowspan="2" valign="top" nowrap class="sidebar">
23 <p class="classblock" tal:condition="request/user/queries">
24 <b>Your Queries</b><br>
25 <tal:block tal:repeat="qs request/user/queries">
26 <a tal:attributes="href string:${qs/klass}${qs/url}"
27 tal:content="qs/name">link</a><br>
28 </tal:block>
29 </p>
31 <form method="POST">
32 <p class="classblock"
33 tal:condition="python:request.user.hasPermission('View', 'issue')">
34 <b>Issues</b><br>
35 <a tal:condition="python:request.user.hasPermission('Edit', 'issue')"
36 href="issue?:template=item">Create New<br></a>
37 <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>
38 <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>
39 <a href="issue?:template=search">Search</a><br>
40 <input type="submit" value="Show issue no."><input size="4" type="text" name=":number">
41 <input type="hidden" name=":type" value="issue">
42 <input type="hidden" name=":action" value="show">
43 </p>
44 </form>
46 <p class="classblock"
47 tal:condition="python:request.user.hasPermission('View', 'keyword')">
48 <b>Keywords</b><br>
49 <a tal:condition="python:request.user.hasPermission('Edit', 'keyword')"
50 href="keyword?:template=item">Create New<br></a>
51 <a tal:condition="python:request.user.hasPermission('Edit', 'keyword') and
52 len(db.keyword.list())"
53 href="keyword?:template=item">Edit Existing<br></a>
54 </p>
56 <p class="classblock"
57 tal:condition="python:request.user.username != 'anonymous'">
58 <b>Administration</b><br>
59 <tal:block tal:condition="python:request.user.hasPermission('Edit', None)">
60 <a href="home?:template=classlist">Class List</a><br>
61 </tal:block>
62 <a tal:condition="python:request.user.hasPermission('View', 'user')
63 or request.user.hasPermission('Edit', 'user')"
64 href="user" >User List</a><br>
65 <a tal:condition="python:request.user.hasPermission('Edit', 'user')"
66 href="user?:template=item">Add User</a>
67 </p>
69 <form method="POST" action="">
70 <p class="userblock" tal:condition="python:request.user.username=='anonymous'">
71 <input size="10" name="__login_name"><br>
72 <input size="10" type="password" name="__login_password"><br>
73 <input type="submit" name=":action" value="login">
74 <span tal:replace="structure request/indexargs_form" />
75 <a href="user?:template=register">Register</a><br>
76 <a href="user?:template=forgotten">Forgotten your password?</a><br>
77 </p>
78 </form>
80 <p class="userblock" tal:condition="python:request.user.username != 'anonymous'">
81 <b>Hello,</b><br><b tal:content="request/user/username">username</b><br>
82 <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>
83 <a tal:attributes="href string:user${request/user/id}">My Details</a><br>
84 <a tal:attributes="href python:request.indexargs_href('',
85 {':action':'logout'})">Logout</a>
86 </p>
87 <p class="userblock">
88 <b>Help</b><br>
89 <a href="http://roundup.sourceforge.net/doc-0.6/">Roundup docs</a>
90 </p>
91 </td>
92 <td>
93 <p tal:condition="options/error_message | nothing" class="error-message"
94 tal:repeat="m options/error_message" tal:content="structure m">error</p>
95 <p tal:condition="options/ok_message | nothing" class="ok-message"
96 tal:repeat="m options/ok_message" tal:content="structure m">error</p>
97 </td>
98 </tr>
99 <tr>
100 <td class="content" metal:define-slot="content">Page content goes here</td>
101 </tr>
103 </table>
105 <pre tal:condition="request/form/debug | nothing" tal:content="request">
106 </pre>
108 </body>
109 </html>
111 <td metal:define-macro="search_input">
112 <input tal:attributes="value python:request.form.getvalue(name) or nothing;
113 name name">
114 </td>
116 <td metal:define-macro="search_select">
117 <select tal:attributes="name name"
118 tal:define="value python:request.form.getvalue(name)">
119 <option value="">don't care</option>
120 <tal:block metal:define-slot="extra_options"></tal:block>
121 <option value="">------------</option>
122 <option tal:repeat="s python:db[db_klass].list()"
123 tal:attributes="value s/id; selected python:value == s.id"
124 tal:content="python:s[db_content]"></option>
125 </select>
126 </td>
128 <td metal:define-macro="column_input">
129 <input type="checkbox" name=":columns"
130 tal:attributes="value name;
131 checked python:name in cols">
132 </td>
134 <td metal:define-macro="sort_input">
135 <input type="radio" name=":sort"
136 tal:attributes="value name;
137 checked python:name == sort_on">
138 </td>
140 <td metal:define-macro="group_input">
141 <input type="radio" name=":group"
142 tal:attributes="value name;
143 checked python:name == group_on">
144 </td>