view website/issues/html/_generic.item.html @ 5988:39b8bc511ed7

Fix html generation errors for boolean options. Code was generating xhtml form for html4 output. In xhtml, Boolean attributes like 'disabled', 'required' are represented with a value that is the same as the attribute name. E.G. <input required="required" ...>. Html 5 (and 4) represents the same as <input required ...> . Recognize booleans in one of two ways: value is None value is the same as the attribute name Make html4 and xhtml variants of cgi_escape_attrs. Have input_htmlp4 and input_xhtml call the proper variant. Also set HTMLInputMixin property cgi_escape_atrs to select proper one similar to self.input definition. Then replace calls to cgi_escape_attr with self.cgi_escape_attrs to get correct output.
author John Rouillard <rouilj@ieee.org>
date Sat, 14 Dec 2019 16:18:15 -0500
parents c2d0d3e9099d
children
line wrap: on
line source

<tal:block metal:use-macro="templates/page/macros/icing">
<title metal:fill-slot="head_title" i18n:translate=""
 ><span tal:replace="python:context._classname.capitalize()"
 i18n:name="class" /> editing - <span i18n:name="tracker"
 tal:replace="config/TRACKER_NAME" /></title>
<tal:block metal:fill-slot="body_title" i18n:translate=""
 ><span tal:replace="python:context._classname.capitalize()"
 i18n:name="class" /> editing</tal:block>

<td class="content" metal:fill-slot="content">

<p tal:condition="python:not (context.is_view_ok()
 or request.user.hasRole('Anonymous'))" i18n:translate="">
 You are not allowed to view this page.</p>

<p tal:condition="python:not context.is_view_ok()
 and request.user.hasRole('Anonymous')" i18n:translate="">
 Please login with your username and password.</p>

<div tal:condition="context/is_view_ok">

<form method="POST" onSubmit="return submit_once()"
      enctype="multipart/form-data" tal:condition="context/is_view_ok"
      tal:attributes="action context/designator">

<input type="hidden" name="@template" value="item">

<table class="form">

<tr tal:repeat="prop python:db[context._classname].properties()">
 <tal:block tal:condition="python:prop._name not in ('id',
   'creator', 'creation', 'actor', 'activity')">
  <th tal:content="prop/_name"></th>
  <td tal:content="structure python:context[prop._name].field()"></td>
 </tal:block>
</tr>
<tr>
 <td>&nbsp;</td>
 <td colspan=3 tal:content="structure context/submit">
  submit button will go here
 </td>
</tr>
</table>

</form>

<tal:block tal:condition="context/id" tal:replace="structure context/history" />

</div>

</td>

</tal:block>

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