<%! from itertools import izip_longest from random import randint %> <%namespace name="forms" file="jsonmapper:templates/forms.html"/> <%def name="buildTableListForm(forEach, key, values, errors, with_template = True)"> %for subSchema in forEach.validators:
%for name, field in [(name, subSchema.fields[name]) for name in subSchema.form_order]: %if field.html_type != 'hidden':
${field.html_label}
%endif %endfor
<% errors = errors if isinstance(errors, list) else errors.error_list %> %for i, (values_, error) in enumerate(izip_longest(values, errors, fillvalue = {})): <% errors_ = getattr(error, 'error_dict', {}) %> ${self.buildRow(subSchema, key, i, errors_, values_)} %endfor
${getattr(props, "add_more_link_label", "add one more")|n}
%if with_template: %endif
%endfor <%def name="buildRow(subSchema, key, i, errors_, values_)">
%for name, field in [(name, subSchema.fields[name]) for name in subSchema.form_order]: %if field.html_type == 'hidden': %else:
${forms.renderControl("{}-{}.{}".format(key, i, name), values_.get(name), field, default_classes="input-medium")} %if name in errors_:
${errors_[name]}
%endif
%endif %endfor