web/views/edit_attributes.pt
author Aurelien Campeas <aurelien.campeas@logilab.fr>
Tue, 10 Jun 2014 16:01:49 +0200
changeset 10354 635cfac73d28
parent 0 b97547f5f1fa
permissions -rw-r--r--
[repoapi] fold ClientConnection into Connection Connection replaces ClientConnection everywhere. Some notes: * testlib: .client_cnx and .repo_cnx become aliases of .cnx (we might not want to tell people to update their tests again for just no real benefit, so we'll live with these aliases for a while) * entity.as_rset must not be cached because we risk caching result sets having a Connection object as .req (helps unittest_breadcrumbs) * entity._cw_dont_cache_attributes loses its repo/request special paths and only keeps its storage/bfss user (this helps unittest_wfobjs) * moreover, entity.cw_instantiate and .cw_set stop overriding the attributes cache *after* the before_*_entity hooks have run, because there is no need to (it is now actually harmful to do it and unittest_hooks.test_html_tidy* tests remain green because of this) * rset._build_entity sticks its .req onto the entity just fetched from the cache, because otherwise it might carry a _cw that is a Connection object where a Request is expected (helps unittest_views_actions) * we get overall better cache usages (entity caches were split over Request + ClientConnection and Connection), hence the changes unittest_entity and unittest_wfobjs * void the ecache when providing the cnx to a request object Having the entity cache pre-filled when we bind it to the request object hurts because these entities are bound to Connection objects, that lack e.g. `.form` or `.add_js` and crash the views subsystem. Thus, the unittest_testlib.test_error_raised test will are kept green. Closes #3837233

  <table class="attributeForm" style="width:100%;"
	 tal:attributes="id tab_id | nothing;
			 class tab_class | nothing;">
    <tr tal:iter="widget lines">
      <th class="labelCol" tal:content="structure python:widget.render_label(entity)">attrname</th>
      <td tal:define="error python:widget.render_error(entity)" style="width:100%;"
          tal:attributes="class python:error and 'error' or nothing">
	<div tal:replace="structure error">error message if any</div>
	<div tal:replace="structure python:widget.edit_render(entity)" >widget (input, textarea, etc.)</div>
	<div tal:replace="structure python:widget.render_help(entity)">format help if any</div>
      </td>
    </tr>
  </table>