{% css formCss %} {{ form.renderTag() }} {% if form.pages|length > 1 %} {% endif %} {% if form.hasErrors %}
{{ form.errorMessage | t }} {% if form.errors|length %} {% endif %}
{% endif %} {% for row in form %}
{% for field in row %} {% set width = (12 / (row|length)) %} {% set isCheckbox = field.type in ["checkbox","mailing_list"] %} {% set columnClass = "form-group" %} {% set columnClass = columnClass ~ form.customAttributes.columnClass %} {% set columnClass = columnClass ~ " col-sm-" ~ width ~ " col-12" %} {% set class = "form-control" ~ (field.hasErrors ? " is-invalid") %} {% if field.type == "file" %} {% set class = "form-control-file" ~ (field.hasErrors ? " is-invalid") %} {% elseif field.type == "signature" %} {% set class = "btn btn-light" %} {% elseif field.type == "table" %} {% set class = "table" %} {% elseif isCheckbox %} {% set class = "checkbox" %} {% endif %} {% set labelClass = (field.required ? " required" : "") %} {% set errorClass = "invalid-feedback" %} {% set instructionClass = "form-text text-muted" %} {% if field.type == "submit" %} {% set columnClass = columnClass ~ " submit-align-" ~ field.position %} {% endif %}
{% if field.type == "checkbox_group" %} {{ field.renderLabel({ labelClass: labelClass, instructionsClass: instructionClass, errorClass: errorClass, }) }} {{ field.oneLine ? "
"|raw }} {% for index, option in field.options %}
{% endfor %} {{ field.oneLine ? "
"|raw }} {{ field.renderInstructions() }} {{ field.renderErrors({ errorClass: errorClass }) }} {% elseif field.type == "radio_group" %} {{ field.renderLabel({ labelClass: labelClass, instructionsClass: instructionClass, errorClass: errorClass, }) }} {{ field.oneLine ? "
"|raw }} {% for index, option in field.options %}
{% endfor %} {{ field.oneLine ? "
"|raw }} {{ field.renderInstructions() }} {{ field.renderErrors() }} {% elseif field.type == "dynamic_recipients" and (field.showAsRadio or field.showAsCheckboxes) %} {{ field.renderLabel({ labelClass: labelClass, instructionsClass: instructionClass, errorClass: errorClass, }) }} {{ field.oneLine ? "
"|raw }} {% for index, option in field.options %}
{% endfor %} {{ field.oneLine ? "
"|raw }} {{ field.renderInstructions() }} {{ field.renderErrors() }} {% elseif field.type in ["checkbox", "mailing_list"] %}
{{ field.renderInput({ class: class ~ " form-check-input" ~ (field.hasErrors ? " is-invalid") }) }} {{ field.renderLabel({ labelClass: "form-check-label" ~ (field.hasErrors ? " is-invalid") ~ (field.required ? " required") }) }} {{ field.renderErrors({ errorClass: errorClass }) }}
{% elseif field.type == "submit" %} {{ field.render({ class: "btn btn-primary" }) }} {% elseif field.type == "table" %} {{ field.render({ class: class, labelClass: labelClass, instructionsClass: instructionClass, instructionsBelowField: true, errorClass: errorClass, addButtonLabel: "Add +", addButtonClass: "btn btn-sm btn-primary", removeButtonLabel: "x", removeButtonClass: "btn btn-sm btn-danger", tableTextInputClass: "form-control", tableSelectInputClass: "form-control", tableCheckboxInputClass: "form-check-input" }) }} {% elseif field.type == "cc_details" %} {# FOR FREEFORM PAYMENTS #} {{ field.renderLabel({ labelClass: (field.required ? " required" : ""), instructionsClass: "help-block", errorClass: "help-block", }) }} {% for layoutRow in field.layoutRows %}
{% for layoutField in layoutRow %} {% set layoutWidth = (12 / (layoutRow|length)) %} {% set columnClass = columnClass|replace(' col-sm-' ~ width) %} {% set columnClass = columnClass ~ " col-sm-" ~ layoutWidth %}
{{ layoutField.render({ class: isCheckbox ? "checkbox" : "form-control", instructionsClass: "help-block", instructionsBelowField: true, labelClass: (layoutField.required ? " required" : ""), errorClass: "help-block", }) }}
{% endfor %}
{% endfor %} {{ field.renderInput({ instructionsClass: "help-block", instructionsBelowField: true, labelClass: (field.required ? " required" : ""), errorClass: "help-block", }) }} {{ field.renderInstructions }} {{ field.renderErrors }} {% else %} {{ field.render({ class: class, labelClass: labelClass, instructionsClass: instructionClass, instructionsBelowField: true, errorClass: errorClass, }) }} {% endif %}
{% endfor %}
{% endfor %} {{ form.renderClosingTag }}