51 lines
1.9 KiB
Twig
51 lines
1.9 KiB
Twig
{% macro form(form_data, formaction, title = "", hiddenid = "", nosubmit = false, idprefix = "") %}
|
|
|
|
{% import "Froxlor/form/formfields.html.twig" as formfields %}
|
|
|
|
<form action="{{ formaction|default("") }}" method="post" enctype="application/x-www-form-urlencoded" class="form">
|
|
{% for sid,section in form_data.sections %}
|
|
{% if section.visible is not defined or (section.visible is defined and section.visible == true) %}
|
|
<div class="card mb-3" id="{{ idprefix }}{{ sid }}">
|
|
{% if section.title is not empty %}
|
|
<div class="card-header">
|
|
{% if section.image is not empty %}
|
|
<i class="{{ section.image }}"></i>
|
|
{% endif %}
|
|
{{ section.title }}
|
|
</div>
|
|
{% endif %}
|
|
<div class="formfields">
|
|
{% for id,field in section.fields %}
|
|
{{ formfields.fieldrow(id, field) }}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if nosubmit == false %}
|
|
<!-- submit buttons -->
|
|
<div>
|
|
{% if hiddenid is not empty %}
|
|
<input type="hidden" name="id" value="{{ hiddenid }}"/>
|
|
{% endif %}
|
|
<input type="hidden" name="page" value="{{ page }}"/>
|
|
<input type="hidden" name="action" value="{{ action }}"/>
|
|
<input type="hidden" name="send" value="send"/>
|
|
|
|
<div class="col-12 text-center p-2">
|
|
{% if form_data.buttons is defined and form_data.buttons is iterable %}
|
|
{% for btn in form_data.buttons %}
|
|
<button type="{{ btn.type|default("submit") }}" class="btn btn-lg {{ btn.class|default(" btn-primary") }}">{{ btn.label }}</button>
|
|
{% endfor %}
|
|
{% else %}
|
|
<button type="reset" class="btn btn-lg btn-outline-secondary me-3">{{ lng('panel.reset') }}</button>
|
|
<button type="submit" class="btn btn-lg btn-primary">{{ lng('panel.save') }}</button>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
<span class="text-danger">*</span> {{ lng('panel.mandatoryfield') }}
|
|
</form>
|
|
{% endmacro %}
|