wip: use of form macro
This commit is contained in:
parent
07b4b37a0a
commit
e7fdecdacc
2 changed files with 101 additions and 71 deletions
|
@ -1,8 +1,9 @@
|
||||||
{% macro input(id, name, value, type="text", description="", errors, error_msg_id, label, label_attributes, attributes) %}
|
{% macro input(id, name, value, type="text", description="", errors, errors_keys, error_msg_id, label, label_attributes, attributes) %}
|
||||||
|
|
||||||
{% set filtered_errors = [] %}
|
{% set filtered_errors = [] %}
|
||||||
|
|
||||||
{% for error in errors %}
|
{% for error_key in errors_keys %}
|
||||||
|
{% set error = errors | get(key=error_key, default="") %}
|
||||||
{% if error %}
|
{% if error %}
|
||||||
{% set_global filtered_errors = filtered_errors | concat(with=error) %}
|
{% set_global filtered_errors = filtered_errors | concat(with=error) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -6,8 +6,6 @@
|
||||||
<h3>{{ tr(msg="record-config-section-web", attr="servers", lang=lang) }}</h3>
|
<h3>{{ tr(msg="record-config-section-web", attr="servers", lang=lang) }}</h3>
|
||||||
|
|
||||||
<input name="addresses[_exist]" type="hidden" value="true">
|
<input name="addresses[_exist]" type="hidden" value="true">
|
||||||
|
|
||||||
{% set ttl_error = errors | get(key="/addresses/ttl", default="") %}
|
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
{{
|
{{
|
||||||
form::input(
|
form::input(
|
||||||
|
@ -15,7 +13,8 @@
|
||||||
name="addresses[ttl]",
|
name="addresses[ttl]",
|
||||||
value=address.address | default(value=""),
|
value=address.address | default(value=""),
|
||||||
type="number",
|
type="number",
|
||||||
errors=[ ttl_error ],
|
errors=errors,
|
||||||
|
errors_keys=[ "/addresses/ttl" ],
|
||||||
error_msg_id="record-input-ttl",
|
error_msg_id="record-input-ttl",
|
||||||
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
||||||
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
||||||
|
@ -25,10 +24,7 @@
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% set global_address_error = errors | get(key="/addresses/data", default="") %}
|
|
||||||
{% for address in input_data.addresses.data.addresses | default(value=[""]) %}
|
{% for address in input_data.addresses.data.addresses | default(value=[""]) %}
|
||||||
{% set address_error = errors | get(key="/addresses/data/addresses/" ~ loop.index0 ~ "/address", default="") %}
|
|
||||||
<div class="form-input" data-new-item-template="address">
|
<div class="form-input" data-new-item-template="address">
|
||||||
{{
|
{{
|
||||||
form::input(
|
form::input(
|
||||||
|
@ -36,9 +32,10 @@
|
||||||
name="addresses[data][addresses][" ~loop.index0 ~ "][address]",
|
name="addresses[data][addresses][" ~loop.index0 ~ "][address]",
|
||||||
value=address.address | default(value=""),
|
value=address.address | default(value=""),
|
||||||
type="text",
|
type="text",
|
||||||
errors=[
|
errors=errors,
|
||||||
global_address_error,
|
errors_keys=[
|
||||||
address_error,
|
"/addresses/data",
|
||||||
|
"/addresses/data/addresses/" ~ loop.index0 ~ "/address",
|
||||||
],
|
],
|
||||||
error_msg_id="record-input-addresses",
|
error_msg_id="record-input-addresses",
|
||||||
label=tr(msg="record-input-addresses", attr="input-label", index=loop.index, lang=lang),
|
label=tr(msg="record-input-addresses", attr="input-label", index=loop.index, lang=lang),
|
||||||
|
@ -75,15 +72,21 @@
|
||||||
<input name="mailservers[_exist]" type="hidden" value="true">
|
<input name="mailservers[_exist]" type="hidden" value="true">
|
||||||
|
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
<label for="mailservers-ttl">
|
{{
|
||||||
{{ tr(msg="record-input-ttl", attr="input-label", lang=lang) }}
|
form::input(
|
||||||
</label>
|
id="mailservers-ttl",
|
||||||
<div>
|
name="mailservers[ttl]",
|
||||||
<input name="mailservers[ttl]" id="mailservers-ttl" type="text" value="{{ input_data.mailservers.ttl | default(value="") }}" aria-describedby="mailservers-ttl">
|
value=input_data.mailservers.ttl | default(value=""),
|
||||||
<p class="help" id="mailservers-ttl-help">
|
type="number",
|
||||||
{{ tr(msg="record-input-ttl", attr="help", lang=lang) }}
|
errors=errors,
|
||||||
</p>
|
errors_keys=[ "/mailservers/ttl" ],
|
||||||
</div>
|
error_msg_id="record-input-ttl",
|
||||||
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
||||||
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
||||||
|
label_attributes=[],
|
||||||
|
attributes=[],
|
||||||
|
)
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% for mailserver in input_data.mailservers.data.mailservers | default(value=[""]) %}
|
{% for mailserver in input_data.mailservers.data.mailservers | default(value=[""]) %}
|
||||||
|
@ -92,43 +95,55 @@
|
||||||
{{ tr(msg="record-input-mailservers", attr="legend", index=loop.index, lang=lang) }}
|
{{ tr(msg="record-input-mailservers", attr="legend", index=loop.index, lang=lang) }}
|
||||||
</legend>
|
</legend>
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
<label
|
{{
|
||||||
for="mailserver-mail_exchanger-{{ loop.index0 }}"
|
form::input(
|
||||||
data-new-item-template-attr="for"
|
id="mailserver-mail_exchanger-" ~ loop.index0,
|
||||||
data-template-for="mailserver-mail_exchanger-{i}"
|
name="mailservers[data][mailservers][" ~loop.index0 ~ "][mail_exchanger]",
|
||||||
>
|
value=mailserver.mail_exchanger | default(value=""),
|
||||||
{{ tr(msg="record-input-mailservers", attr="input-label-server-name", lang=lang) }}
|
type="text",
|
||||||
</label>
|
errors=errors,
|
||||||
<div>
|
errors_keys=[
|
||||||
<input
|
"/mailservers/data",
|
||||||
name="mailservers[data][mailservers][{{ loop.index0 }}][mail_exchanger]"
|
"/mailservers/data/mailservers/" ~ loop.index0 ~ "/mail_exchanger",
|
||||||
id="mailserver-mail_exchanger-{{ loop.index0 }}"
|
],
|
||||||
data-new-item-template-attr="name id"
|
error_msg_id="record-input-mailservers",
|
||||||
data-template-name="mailservers[data][mailservers][{i}][mail_exchanger]"
|
label=tr(msg="record-input-mailservers", attr="input-label-server-name", lang=lang),
|
||||||
data-template-id="mailserver-mail_exchanger-{i}"
|
label_attributes=[
|
||||||
type="text"
|
"data-new-item-template-attr", "for",
|
||||||
value="{{ mailserver.mail_exchanger | default(value="") }}"
|
"data-template-for", "mailserver-mail_exchanger-{i}",
|
||||||
>
|
],
|
||||||
</div>
|
attributes=[
|
||||||
|
"data-new-item-template-attr", "name id",
|
||||||
|
"data-template-name", "mailservers[data][mailservers][{i}][mail_exchanger]",
|
||||||
|
"data-template-id", "mailserver-mail_exchanger-{i}",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
|
||||||
<label
|
{{
|
||||||
for="mailserver-preference-{{ loop.index0 }}"
|
form::input(
|
||||||
data-new-item-template-attr="for"
|
id="mailserver-preference-" ~ loop.index0,
|
||||||
data-template-for="mailserver-preference-{i}"
|
name="mailservers[data][mailservers][" ~loop.index0 ~ "][preference]",
|
||||||
>
|
value=mailserver.preference | default(value=""),
|
||||||
{{ tr(msg="record-input-mailservers", attr="input-label-preference", lang=lang) }}
|
type="text",
|
||||||
</label>
|
errors=errors,
|
||||||
<div>
|
errors_keys=[
|
||||||
<input
|
"/mailservers/data",
|
||||||
name="mailservers[data][mailservers][{{ loop.index0 }}][preference]"
|
"/mailservers/data/mailservers/" ~ loop.index0 ~ "/preference",
|
||||||
id="mailserver-preference-{{ loop.index0 }}"
|
],
|
||||||
data-new-item-template-attr="name id"
|
error_msg_id="record-input-mailservers",
|
||||||
data-template-name="mailservers[data][mailservers][{i}][preference]"
|
label=tr(msg="record-input-mailservers", attr="input-label-preference", lang=lang),
|
||||||
data-template-id="mailserver-preference-{i}"
|
label_attributes=[
|
||||||
type="text"
|
"data-new-item-template-attr", "for",
|
||||||
value="{{ mailserver.preference | default(value="") }}"
|
"data-template-for", "mailserver-preference-{i}",
|
||||||
>
|
],
|
||||||
</div>
|
attributes=[
|
||||||
|
"data-new-item-template-attr", "name id",
|
||||||
|
"data-template-name", "mailservers[data][mailservers][{i}][preference]",
|
||||||
|
"data-template-id", "mailserver-preference-{i}",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -144,22 +159,36 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{ tr(msg="record-input-spf", attr="legend", lang=lang) }}</legend>
|
<legend>{{ tr(msg="record-input-spf", attr="legend", lang=lang) }}</legend>
|
||||||
<div class="form-input">
|
<div class="form-input">
|
||||||
<label for="spf-policy">
|
{{
|
||||||
{{ tr(msg="record-input-spf", attr="input-label", lang=lang) }}
|
form::input(
|
||||||
</label>
|
id="spf-policy",
|
||||||
<div>
|
name="spf[data][policy]",
|
||||||
<input name="spf[data][policy]" id="spf-policy" type="text" value="{{ input_data.spf.data.policy | default(value="") }}">
|
value=input_data.spf.data.policy | default(value=""),
|
||||||
</div>
|
type="number",
|
||||||
|
errors=errors,
|
||||||
|
errors_keys=[ "/spf/data/policy" ],
|
||||||
|
error_msg_id="record-input-spf",
|
||||||
|
label=tr(msg="record-input-spf", attr="input-label", lang=lang),
|
||||||
|
label_attributes=[],
|
||||||
|
attributes=[],
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
|
||||||
<label for="spf-ttl">
|
{{
|
||||||
{{ tr(msg="record-input-ttl", attr="input-label", lang=lang) }}
|
form::input(
|
||||||
</label>
|
id="spf-ttl",
|
||||||
<div>
|
name="spf[ttl]",
|
||||||
<input name="spf[ttl]" id="spf-ttl" type="text" value="{{ input_data.spf.ttl | default(value="") }}" aria-describedby="spf-ttl-help">
|
value=input_data.spf.ttl | default(value=""),
|
||||||
<p class="help" id="spf-ttl-help">
|
type="number",
|
||||||
{{ tr(msg="record-input-ttl", attr="help", lang=lang) }}
|
errors=errors,
|
||||||
</p>
|
errors_keys=[ "/spf/ttl" ],
|
||||||
</div>
|
error_msg_id="record-input-ttl",
|
||||||
|
description=tr(msg="record-input-ttl", attr="help", lang=lang),
|
||||||
|
label=tr(msg="record-input-ttl", attr="input-label", lang=lang),
|
||||||
|
label_attributes=[],
|
||||||
|
attributes=[],
|
||||||
|
)
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue