view templates/classic/html/page.html @ 2119:cc4667ef3f12

Added the ability to toggle where error messages go. They either go to the user (default, for backwards compatibility), the dispatcher, or both. These are able to be toggled via settings in config.py. Please refer to upgrading.txt for more details. (And Richard, let me know if I've done anything wrong with this checkin. :))
author Eddie Parker <eparker@users.sourceforge.net>
date Thu, 25 Mar 2004 19:27:15 +0000
parents 6f5de386244b
children ee3cf6a44f29
line wrap: on
line source

<tal:block metal:define-macro="icing">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                               "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title metal:define-slot="head_title">title goes here</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8;">

<link rel="stylesheet" type="text/css" href="@@file/style.css">

<script tal:replace="structure request/base_javascript">
</script>

</head>
<body class="body">

<table class="body">

<tr>
 <td class="page-header-left">&nbsp;</td>
 <td class="page-header-top">
  <h2><span metal:define-slot="body_title">body title</span></h2>
 </td>
</tr>

<tr>
 <td rowspan="2" valign="top" class="sidebar">
  <p class="classblock" tal:condition="request/user/queries">
   <b>Your Queries</b><br>
   <tal:block tal:repeat="qs request/user/queries">
    <a tal:attributes="href string:${qs/klass}?${qs/url}"
       tal:content="qs/name">link</a><br>
   </tal:block>
  </p>

  <form method="POST" tal:attributes="action request/base">
   <p class="classblock"
       tal:condition="python:request.user.hasPermission('View', 'issue')">
    <b>Issues</b><br>
    <a tal:condition="python:request.user.hasPermission('Edit', 'issue')"
      href="issue?@template=item">Create New<br></a>
    <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>
    <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>
    <a href="issue?@template=search">Search</a><br>
    <input type="submit" style="padding: 0" value="Show issue:"><input size="4" type="text" name="@number">
    <input type="hidden" name="@type" value="issue">
    <input type="hidden" name="@action" value="show">
   </p>
  </form>

  <p class="classblock"
     tal:condition="python:request.user.hasPermission('Edit', 'keyword')">
   <b>Keywords</b><br>
   <a href="keyword?@template=item">Create New<br></a>
   <a tal:condition="db/keyword/list"
      href="keyword?@template=item">Edit Existing<br></a>
  </p>

  <p class="classblock"
       tal:condition="python:request.user.hasPermission('View', 'user')">
   <b>Administration</b><br>
   <tal:block tal:condition="python:request.user.hasPermission('Edit', None)">
    <a href="home?@template=classlist">Class List</a><br>
   </tal:block>
   <a tal:condition="python:request.user.hasPermission('View', 'user')
                            or request.user.hasPermission('Edit', 'user')"
      href="user" >User List</a><br>
   <a tal:condition="python:request.user.hasPermission('Edit', 'user')"
      href="user?@template=item">Add User</a>
  </p>

  <form method="POST" tal:condition="python:request.user.username=='anonymous'"
        tal:attributes="action request/base">
   <p class="userblock">
    <b>Login</b><br>
    <input size="10" name="__login_name"><br>
    <input size="10" type="password" name="__login_password"><br>
    <input type="submit" name="@action" value="Login"><br>
    <span tal:replace="structure request/indexargs_form" />
    <a href="user?@template=register"
       tal:condition="python:request.user.hasPermission('Web Registration')">Register<br></a>
    <a href="user?@template=forgotten">Lost&nbsp;your&nbsp;login?</a><br>
   </p>
  </form>
   
  <p class="userblock" tal:condition="python:request.user.username != 'anonymous'">
   <b>Hello,</b> <b tal:content="request/user/username">username</b><br>
   <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>
   <a tal:attributes="href string:user${request/user/id}">My Details</a><br>
   <a tal:attributes="href python:request.indexargs_href('',
       {'@action':'logout'})">Logout</a>
  </p>
  <p class="userblock">
   <b>Help</b><br>
   <a href="http://roundup.sourceforge.net/doc-0.6/">Roundup docs</a>
  </p>
 </td>
 <td>
  <p tal:condition="options/error_message | nothing" class="error-message"
     tal:repeat="m options/error_message" tal:content="structure m">error</p>
  <p tal:condition="options/ok_message | nothing" class="ok-message"
     tal:repeat="m options/ok_message" tal:content="structure m">error</p>
 </td>
</tr>
<tr>
 <td class="content" metal:define-slot="content">Page content goes here</td>
</tr>

</table>

<pre tal:condition="request/form/debug | nothing" tal:content="request">
</pre>

</body>
</html>
</tal:block>

<td metal:define-macro="search_input">
  <input tal:attributes="value python:request.form.getvalue(name) or nothing;
                         name name">
</td>

<td metal:define-macro="search_select">
  <select tal:attributes="name name"
          tal:define="value python:request.form.getvalue(name)">
    <option value="">don't care</option>
    <tal:block metal:define-slot="extra_options"></tal:block>
    <option value="">------------</option>      
    <option tal:repeat="s python:db[db_klass].list()"
            tal:attributes="value s/id; selected python:value == s.id"
            tal:content="python:s[db_content]"></option>
  </select>
</td>

<td metal:define-macro="column_input">
  <input type="checkbox" name="@columns"
         tal:attributes="value name;
                         checked python:name in cols">
</td>

<td metal:define-macro="sort_input">
  <input type="radio" name="@sort"
         tal:attributes="value name;
                         checked python:name == sort_on">
</td>

<td metal:define-macro="group_input">
  <input type="radio" name="@group"
         tal:attributes="value name;
                         checked python:name == group_on">
</td>

Roundup Issue Tracker: http://roundup-tracker.org/