{% from 'themes/whitelabel/crud/_macros.html' import render_field, render_form_errors %} {% macro render_child_field(construct, field, type, data, ds, child_url=none, errors=none) %} {% if type.readonly and type.field_type not in ('list',) %}
{% set value = type.format_value(field, data) if data else "" %}

{{ value }}

{% elif type.field_type == 'related' %} {% if child_url %} {% set _pv = namespace(url=child_url) %} {{ render_field(construct, field, type, _pv, data, ds, errors=errors) }} {% else %}
{% set current = type.form_value(data) if data else none %}
{% endif %} {% elif type.field_type == 'manyrelated' %} {% if child_url %} {% set _pv = namespace(url=child_url) %} {{ render_field(construct, field, type, _pv, data, ds, errors=errors) }} {% else %}
{% set current_items = type.form_value(data) if data else [] %} {% set all_items = type.related_class().search()[0] %}

{{ construct.t("crud-select") }}

{% endif %} {% else %} {{ render_field(construct, field, type, none, data, ds, errors=errors) }} {% endif %} {% endmacro %} {% if edit_actions %}
{% for action in edit_actions %} {{ icon(action.icon, style="font-size: 14px;") }} {{ construct.t(action.name) }} {% endfor %}
{% endif %}
{{ csrf_field() }} {% if request.values.get('next') %}{% endif %} {{ render_form_errors(construct, errors) }} {% for field, type in child_fields %} {{ render_child_field(construct, field, type, form_data, ds, child_url=child_url, errors=errors) }} {% endfor %}
{{ icon("cancel", style="font-size: 14px;") }} {{ construct.t("crud-cancel-button") }}