1 | <metal:block define-macro="default_edit" |
---|
2 | tal:define="layout options/layout; |
---|
3 | ds options/datastructure; |
---|
4 | dm ds/getDataModel; |
---|
5 | creation creation|nothing; |
---|
6 | cpsmcat nocall:here/translation_service; |
---|
7 | proceed options/proceed|nothing; |
---|
8 | "> |
---|
9 | <table width="100%" cellpadding="2" cellspacing="2" summary="Form layout" border=1 |
---|
10 | tal:condition="layout/rows"> |
---|
11 | <tr tal:repeat="row layout/rows" valign="top"> |
---|
12 | |
---|
13 | <span tal:repeat="cell row"> |
---|
14 | <tal:block define="widget cell/widget; |
---|
15 | wid widget/getWidgetId; |
---|
16 | err python:ds.getError(wid); |
---|
17 | err_mapping python:ds.getErrorMapping(wid); |
---|
18 | is_required widget/is_required|nothing; |
---|
19 | tooltip_id python:wid + '_help'; |
---|
20 | widget_css_class cell/widget_css_class|nothing; |
---|
21 | css_class python:test(err, 'row error','row')"> |
---|
22 | <span tal:attributes="class widget_css_class; |
---|
23 | id python:widget.getHtmlWidgetId()+'_widget'; |
---|
24 | "> |
---|
25 | |
---|
26 | <td tal:condition="widget/label_edit"> |
---|
27 | <div tal:attributes="class python:test(is_required, 'label required','label')"> |
---|
28 | <label tal:content="widget/label_edit" |
---|
29 | tal:attributes="for cell/widget_input_area_id|nothing;">label</label> |
---|
30 | </div> |
---|
31 | </td> |
---|
32 | <td> |
---|
33 | <label tal:replace="structure cell/widget_rendered"/> |
---|
34 | </td> |
---|
35 | <tal:block condition="err"> |
---|
36 | <tal:block define="msg python:cpsmcat(err, mapping=err_mapping)"> |
---|
37 | <br /><em style="color: red" |
---|
38 | tal:content="msg">err</em> |
---|
39 | </tal:block> |
---|
40 | </tal:block> |
---|
41 | </span> |
---|
42 | </tal:block> |
---|
43 | </span> |
---|
44 | |
---|
45 | </tr> |
---|
46 | </table> |
---|
47 | |
---|
48 | </metal:block> |
---|