view share/roundup/templates/devel/html/help.html @ 8408:e882a5d52ae5

refactor: move RateLimitExceeded to roundup.cgi.exceptions RateLimitExceeded is an HTTP exception that raises code 429. Move it to roundup.cgi.exceptions where all the other exceptions that result in http status codes are located. Also make it inherit from HTTPException since it is one. Also add docstrings for all HTTP exceptions and order HTTPExceptions by status code. BREAKING CHANGE: if somebody is importing RateLimitExceeded they will need to change their import. I consider it unlikely anybody is using RateLimitExceeded. Detectors and extensions are unlikely to raise RateLimitExceeded. So I am leaving it out of the upgrading doc. Just doc in change log.
author John Rouillard <rouilj@ieee.org>
date Sun, 10 Aug 2025 21:27:06 -0400
parents 28aa76443f58
children
line wrap: on
line source

<tal:block metal:define-macro="frame">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html tal:define="what python:request.form.getvalue('property', request.classname);
                  form request/form/form/value;
                  field request/form/property/value">
<head>
  <meta http-equiv="Content-Type"
        tal:attributes="content string:text/html;; charset=${request/client/charset}" />
  <title i18n:translate="">
    <tal:x i18n:name="what" tal:content="what" i18n:translate="" />
    help - <span i18n:name="tracker" tal:replace="config/TRACKER_NAME" />
  </title>
  <script language="Javascript" type="text/javascript" tal:content="string:
    // this is the name of the field in the original form that we're working on
    form  = window.opener.document.${form};
    field  = '${field}';">
  </script>
  <link rel="stylesheet" type="text/css" href="@@file/help.css" />
  <script src="@@file/help_controls.js" type="text/javascript"></script>
  <metal:x define-slot="more-javascript" />
</head>
<body onload="resetList();">
  <div class="header">
    <h1>Roundup Issue Tracker: Help - <tal:block tal:content="what">item</tal:block></h1>
  </div>
  <div class="content">
    <tal:block metal:define-slot="content">Page content goes here</tal:block>
  </div> <!-- content -->
  <div class="footer">
    <tal:block metal:define-slot="footer"></tal:block>
  </div> <!-- footer -->
</body>
</html>
</tal:block>

<!-- legend for helper search results -->
<thead>
<tr metal:define-macro="legend">
  <th tal:repeat="prop props" tal:content="prop" i18n:translate=""></th>
</tr>
</thead>

<table width="100%"
       metal:define-macro="batch_navi"
       tal:define="prev batch/previous;
                   next batch/next;"
       tal:condition="python:prev or next">
  <tr class="navigation">
   <th width="30%">
    <a tal:condition="prev"
       tal:attributes="href python:request.indexargs_url(request.classname, {'@template':'help-list', 'property': property, 'properties': request.form['properties'].value, 'form': request.form['form'].value, '@startwith':prev.first, '@pagesize':prev.size})"
       i18n:translate="" >&lt;&lt; previous</a>
    &nbsp;
   </th>
   <th i18n:translate="" width="40%"><span tal:replace="batch/start" i18n:name="start"
    />..<span tal:replace="python: batch.start + batch.length -1" i18n:name="end"
    /> out of <span tal:replace="batch/sequence_length" i18n:name="total"
    />
   </th>
   <th width="30%">
    <a tal:condition="next"
       tal:attributes="href python:request.indexargs_url(request.classname, {'@template':'help-list', 'property': property, 'properties': request.form['properties'].value, 'form': request.form['form'].value, '@startwith':next.first, '@pagesize':next.size})"
       i18n:translate="" >next &gt;&gt;</a>
    &nbsp;
   </th>
  </tr>
</table>

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