Source

bugs.python.org / html / page.html

Full commit
erik.forsberg ae1df84 
erik.forsberg ad954ff 
erik.forsberg ae1df84 


erik.forsberg ad954ff 





erik.forsberg ae1df84 



erik.forsberg 6d528fb 
erik.forsberg ae1df84 

erik.forsberg ad954ff 













erik.forsberg ae1df84 
erik.forsberg ad954ff 


















































































































erik.forsberg ae1df84 
erik.forsberg ad954ff 







erik.forsberg ae1df84 

erik.forsberg ad954ff 





erik.forsberg ae1df84 
erik.forsberg ad954ff 















erik.forsberg ae1df84 















erik.forsberg 6d528fb 








erik.forsberg ae1df84 

erik.forsberg 6d528fb 









erik.forsberg ae1df84 







erik.forsberg 6d528fb 

erik.forsberg ae1df84 




erik.forsberg 6d528fb 
erik.forsberg ae1df84 

erik.forsberg 6d528fb 

erik.forsberg ae1df84 





erik.forsberg 6d528fb 



























erik.forsberg ae1df84 

erik.forsberg 6d528fb 

erik.forsberg ae1df84 
























erik.forsberg ad954ff 
erik.forsberg ae1df84 




erik.forsberg ad954ff 
erik.forsberg ae1df84 




erik.forsberg ad954ff 
erik.forsberg ae1df84 
erik.forsberg 6d528fb 

























<tal:block metal:define-macro="icing">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title metal:define-slot="head_title">title goes here</title>
<link media="screen" href="http://python.org/styles/screen-switcher-default.css" type="text/css" id="screen-switcher-stylesheet" rel="stylesheet" />
<link media="screen" href="http://python.org/styles/netscape4.css" type="text/css" rel="stylesheet" />
<link media="print" href="http://python.org/styles/print.css" type="text/css" rel="stylesheet" />
<link media="screen" href="http://python.org/styles/largestyles.css" type="text/css" rel="alternate stylesheet" title="large text" />
<link media="screen" href="http://python.org/styles/defaultfonts.css" type="text/css" rel="alternate stylesheet" title="default fonts" />
<link rel="stylesheet" type="text/css" href="@@file/style.css" />
<meta http-equiv="Content-Type"
 tal:attributes="content string:text/html;; charset=${request/client/charset}" />
<script tal:replace="structure request/base_javascript">
</script>
<metal:x define-slot="more-javascript" />

</head>
<body>
  <!--  Logo  -->
  <h1 id="logoheader">
<a accesskey="1" href="." id="logolink"><img src="http://python.org/images/python-logo.gif" alt="homepage" border="0" id="logo" /></a></h1>
<div id="searchbox">
 <form method="get" action="issue">
   <input type="hidden" name="@columns"
          value="id,activity,title,creator,assignedto,status"/>
   <input type="hidden" name="@sort" value="activity"/>
   <input type="hidden" name="@group" value="priority"/>
   <input id="search-text" name="@search_text" size="10"/>
   <input type="submit" id="submit" name="submit" value="Search" i18n:attributes="value"/>
 </form>
</div>

<div id="left-hand-navigation">
  
    <!--  Main Menu NEED LEVEL TWO HEADER AND FOOTER -->
 <div id="menu">
  <ul class="level-one">
   <li class=""><a href="http://python.org/about" class="" title="About The Python Language">About</a></li>
   <li class=""><a href="http://python.org/news" class="" title="">News</a></li>
   <li class=""><a href="http://python.org/doc" class="" title="">Documentation</a></li>
   <li class=""><a href="http://python.org/download" class="" title="">Download</a></li>
   <li class=""><a href="http://python.org/community" class="" title="">Community</a></li>
   <li class=""><a href="http://python.org/psf" class="" title="Python Software Foundation">PSF</a></li>
   <li class=""><a href="http://python.org/links" class="" title="">Links</a></li>
   <li class=""><a href="http://python.org/dev" class="" title="Python Core Language Development">Core Development</a></li>
   <li class="selected"><a href="." class="selected" title="Python Issue Tracker">Issue Tracker</a>
    <ul class="level-two">
     <li tal:condition="python:request.user.hasPermission('View', 'issue')">
      <b i18n:translate="">Issues</b>
       <ul class="level-three">
        <li tal:condition="python:request.user.hasPermission('Create', 'issue')">
         <a href="issue?@template=item" i18n:translate="">Create New</a>
        </li>
        <li>
         <a href="issue?@sort=-activity&@group=priority&@filter=status,assignedto&@columns=id,activity,title,creator,status&status=1,2&assignedto=-1&@dispname=Show%20Unassigned"
            i18n:translate="">Show Unassigned</a>
        </li>
        <li>
         <a href="issue?@sort=-activity&@group=priority&@filter=status&@columns=id,activity,title,creator,assignedto,status&status=1,2&@dispname=Show%20All"
            i18n:translate="">Show All</a>
        </li>
        <li>
         <a href="issue?@template=search" i18n:translate="">Search</a>
        </li>
        <li>
         <form method="post" tal:attributes="action request/base">
          <input type="submit" class="form-small" value="Show issue:"
                 i18n:attributes="value"/>
          <input class="form-small" size="4"
                 type="text" name="@number"/>
          <input type="hidden" name="@type" value="issue"/>
          <input type="hidden" name="@action" value="show"/>
         </form>
        </li>
       </ul>
     </li>
     <li tal:condition="python:request.user.hasPermission('Edit', 'keyword')
                        or request.user.hasPermission('Create', 'keyword')">
      <tal:block i18n:translate="">Keywords</tal:block>
      <ul class="level-three">
       <li tal:condition="python:request.user.hasPermission('Create', 'keyword')">
        <a href="keyword?@template=item" i18n:translate="">Create New</a>
       </li>
       <li tal:condition="python:db.keyword.list() and
           request.user.hasPermission('Edit', 'keyword')">
        <a href="keyword?@template=item" i18n:translate="">Edit Existing</a>
       </li>
      </ul>
     </li>
     <li tal:condition="python:request.user.username=='anonymous'">
      <form method="post" tal:attributes="action request/base">
       <b i18n:translate="">Login</b><br/>
       <ul class="level-three">
      <li>
       <input size="10" name="__login_name"/><br/>
       <input size="10" type="password" name="__login_password"/><br/>
       <input type="hidden" name="@action" value="Login"/>
       <input type="checkbox" name="remember" id="remember"/>
       <label for="remember" i18n:translate="">Remember me?</label><br/>
       <input class="form-small" type="submit" value="Login" i18n:attributes="value"/><br/>
       <input type="hidden" name="__came_from" tal:attributes="value string:${request/base}${request/env/PATH_INFO}"/>
       <span tal:replace="structure request/indexargs_form" />
       </li>
       <li>
       <a href="user?@template=register"
          tal:condition="python:request.user.hasPermission('Create', 'user')"
          i18n:translate="">Register</a>
	</li>
       <li><a href="user?@template=forgotten" i18n:translate="">Lost&nbsp;your&nbsp;login?</a>
       </li>
       </ul>
      </form>
     </li>
     <li class="" 
         tal:condition="python:request.user.username != 'anonymous'">
   <b i18n:translate="">Hello, <span i18n:name="user"
    tal:replace="request/user/username">username</span></b><br/>
    <ul class="level-three">
    <li>
      <a tal:attributes="href string:issue?@sort=-activity&@group=priority&@filter=status,assignedto&@columns=id,activity,title,creator,status&status=1,2&assignedto=${request/user/id}" i18n:translate="">Your Issues</a>
    </li>
    <li>
       <a tal:attributes="href string:user${request/user/id}"
          i18n:translate="">Your Details</a>
    </li>
    <li>
       <a tal:attributes="href python:request.indexargs_url('',
          {'@action':'logout'})" i18n:translate="">Logout</a>
    </li>
    </ul>
    </li>
     <li class=""
         tal:condition="python:request.user.hasPermission('View', 'query')">
   <span i18n:translate=""><b>Your Queries</b> (<a class="nomargin" href="query?@template=edit">edit</a>)</span><br/>
   <ul class="level-three" tal:repeat="qs request/user/queries">
    <li><a tal:attributes="href string:${qs/klass}?${qs/url}&@dispname=${qs/name}"
       tal:content="qs/name">link</a></li>
   </ul>
     </li>
     <li class=""
         tal:condition="python:request.user.hasPermission('View', 'user')">
   <b i18n:translate="">Administration</b>
   <ul class="level-three">
   <li tal:condition="python:request.user.hasPermission('Edit', None)">
    <a href="home?@template=classlist" i18n:translate="">Class List</a>
   </li>
   <li tal:condition="python:request.user.hasPermission('View', 'user')
                            or request.user.hasPermission('Edit', 'user')">
    <a href="user"  i18n:translate="">User List</a>
   </li>
   <li tal:condition="python:request.user.hasPermission('Create', 'user')"><a href="user?@template=item" i18n:translate="">Add User</a>
   </li>
   </ul>
     </li>
     <li class="">
   <b i18n:translate="">Help</b><br/>
   <a href="http://roundup.sourceforge.net/doc-1.0/"
    i18n:translate="">Roundup docs</a>
     </li>
    </ul>
   </li>
  </ul>
 </div> <!-- menu -->
</div> <!-- left-hand-navigation -->

<div id="content-body">
<div id="body-main">
<div id="content">
<div id="breadcrumb"><span metal:define-slot="body_title">body title</span></div>
 <p tal:condition="options/error_message | nothing" class="error-message"
    tal:repeat="m options/error_message" tal:content="structure m" />
 <p tal:condition="options/ok_message | nothing" class="ok-message">
  <span tal:repeat="m options/ok_message"
        tal:content="structure string:$m <br/ > " />
  <a class="form-small" tal:attributes="href request/current_url"
     i18n:translate="">clear this message</a>
 </p>
 <tal:block metal:define-slot="content">Page content goes here</tal:block>
</div> <!-- content-body -->
</div> <!-- body-main -->
</div> <!-- content -->

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

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

<!--
The following macros are intended to be used in search pages.

The invoking context must define a "name" variable which names the
property being searched.

See issue.search.html in the classic template for examples.
-->

<!-- creates a th and a label: -->
<th metal:define-macro="th_label"
    tal:define="required required | python:[]"
    tal:attributes="class python:(name in required) and 'required' or nothing">
  <label tal:attributes="for name" tal:content="label" i18n:translate="">text</label>
	<metal:x define-slot="behind_the_label" />
</th>

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

<td metal:define-macro="search_date">
  <input tal:attributes="value python:request.form.getvalue(name) or nothing;
                         name name;
                         id name">
  <a class="classhelp"
	 tal:attributes="href python:'''javascript:help_window('issue?@template=calendar&property=%s&form=itemSynopsis', 300, 200)'''%name">(cal)</a>
</td>

<td metal:define-macro="search_popup">
  <!--
    context needs to specify the popup "columns" as a comma-separated
    string (eg. "id,title" or "id,name,description") as well as name
  -->
  <input tal:attributes="value python:request.form.getvalue(name) or nothing;
                         name name;
                         id name">
  <span tal:replace="structure python:db.issue.classhelp(columns,
                                      property=name)" />
</td>

<td metal:define-macro="search_select">
  <select tal:attributes="name name; id name"
          tal:define="value python:request.form.getvalue(name)">
    <option value="" i18n:translate="">don't care</option>
    <metal:slot define-slot="extra_options" />
    <option value="" i18n:translate="" disabled="disabled">------------</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>

<!-- like search_select, but translates the further values.
Could extend it (METAL 1.1 attribute "extend-macro")
-->
<td metal:define-macro="search_select_translated">
  <select tal:attributes="name name; id name"
          tal:define="value python:request.form.getvalue(name)">
    <option value="" i18n:translate="">don't care</option>
    <metal:slot define-slot="extra_options" />
    <option value="" i18n:translate="" disabled="disabled">------------</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]"
						i18n:translate=""></option>
  </select>
</td>

<!-- currently, there is no convenient API to get a list of all roles -->
<td metal:define-macro="search_select_roles"
	  tal:define="onchange onchange | nothing">
  <select name=roles id=roles tal:attributes="onchange onchange">
    <option value="" i18n:translate="">don't care</option>
    <option value="" i18n:translate="" disabled="disabled">------------</option>
    <option value="User">User</option>
    <option value="Admin">Admin</option>
    <option value="Anonymous">Anonymous</option>
  </select>
</td>

<td metal:define-macro="search_multiselect">
  <input tal:attributes="value python:request.form.getvalue(name) or nothing;
                         name name;
                         id name">
  <span tal:replace="structure python:db[db_klass].classhelp(db_content,
                                        property=name, width='600')" />
</td>

<td metal:define-macro="search_checkboxes">
 <ul class="search-checkboxes"
     tal:define="value python:request.form.getvalue(name);
                 values python:value and value.split(',') or []">
 <li tal:repeat="s python:db[db_klass].list()">
  <input type="checkbox" tal:attributes="name name; id string:$name-${s/id};
    value s/id; checked python:s.id in values" />
  <label tal:attributes="for string:$name-${s/id}"
         tal:content="python:s[db_content]" />
 </li>
 <li metal:define-slot="no_value_item">
  <input type="checkbox" value="-1" tal:attributes="name name;
     id string:$name--1; checked python:value == '-1'" />
  <label tal:attributes="for string:$name--1" i18n:translate="">no value</label>
 </li>
 </ul>
</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>

<!--
The following macros are intended for user editing.

The invoking context must define a "name" variable which names the
property being searched; the "edit_ok" variable tells whether the
current user is allowed to edit.

See user.item.html in the classic template for examples.
-->
<script metal:define-macro="user_utils" type="text/javascript" src="@@file/user_utils.js"></script>

<!-- src: value will be re-used for other input fields -->
<input metal:define-macro="user_src_input"
    type="text" tal:attributes="onblur python:edit_ok and 'split_name(this)';
    id name; name name; value value; readonly not:edit_ok"
    value="heinz.kunz">
<!-- normal: no re-using -->
<input metal:define-macro="user_normal_input" type="text"
    tal:attributes="id name; name name; value value; readonly not:edit_ok"
    value="heinz">
<!-- password: type; no initial value -->
    <input metal:define-macro="user_pw_input" type="password"
    tal:attributes="id name; name name; readonly not:edit_ok" value="">
    <input metal:define-macro="user_confirm_input" type="password"
    tal:attributes="id name; name string:@confirm@$name; readonly not:edit_ok" value="">