form.pt 2.51 KB
<form
    tal:define="style style|field.widget.style;
              css_class css_class|string:${field.widget.css_class or field.css_class or ''};
              item_template item_template|field.widget.readonly_item_template;
              title title|field.title;
              errormsg errormsg|field.errormsg;
              description description|field.description;
              buttons buttons|field.buttons;
              use_ajax use_ajax|field.use_ajax;
              ajax_options ajax_options|field.ajax_options;
              formid formid|field.formid;
              method method|field.method;"
    tal:attributes="style style;
                  class css_class;"
    id="${formid}"
    method="${method}"
    enctype="multipart/form-data"
    accept-charset="utf-8"
    i18n:domain="deform"
    class="deform ${field.bootstrap_form_style | 'form-horizontal'}"
>

  <fieldset class="deform-form-fieldset">
    <div class="row">
      <legend tal:condition="title">${title}</legend>

      <p class="section first" tal:condition="description">
        ${description}
      </p>


      <div tal:repeat="child field"
           tal:replace="structure child.render_template(item_template)"/>
    </div>

    <div class="row">
      <div class="form-group deform-form-buttons">
        <tal:loop tal:repeat="button buttons">
          <button
              tal:define="btn_disposition repeat.button.start and 'btn-primary' or 'btn-default';"
              tal:attributes="disabled button.disabled if button.disabled else None;
                              attributes|button.attributes|{};"
              id="${formid+button.name}"
              name="${button.name}"
              type="${button.type}"
              class="btn ${button.css_class or btn_disposition}"
              value="${button.value}"
              tal:condition="button.type != 'link'">
            <span tal:condition="button.icon" class="glyphicon glyphicon-${button.icon}"></span>
            ${button.title}
          </button>
          <a
              tal:define="btn_disposition repeat.button.start and 'btn-primary' or 'btn-default';
              btn_href button.value|''"
              class="btn ${button.css_class or btn_disposition}"
              id="${field.formid + button.name}"
              href="${btn_href}"
              tal:condition="button.type == 'link'">
            <span tal:condition="button.icon" class="glyphicon glyphicon-${button.icon}"></span>
            ${button.title}
          </a>
        </tal:loop>
      </div>
    </div>
  </fieldset>

</form>