nomilo/templates/macros/display_section.html

102 lines
4.3 KiB
HTML

{% macro card(section, records, name, fqdn, url, lang) %}
<article>
<header>
<h4>{{ tr(msg="zone-content-section-" ~ section ~ "-header", lang=lang) }}</h4>
<div class="action">
<a class="button icon" href="{{ url }}/new?name={{ name }}&{% if section == "service" %}rtype{% else %}config{% endif %}={{ section }}">
{{ icons::pencil() }}
<span class="visually-hidden">
{{ tr(msg="zone-content-edit-" ~ section ~ "-configuration-button", lang=lang, name=fqdn) }}
</span>
</a>
</div>
</header>
{%- if section == "web" -%}
<p class="record-type">
{{ tr(msg="zone-content-record-type-addresses", attr="type-name", lang=lang) }}
</p>
<ul>
{%- for address in records.addresses.0.addresses.addresses -%}
<li>
<span class="pill">
{{ address.address }}
</span>
</li>
{%- endfor -%}
</ul>
{%- elif section == "mail" -%}
<p class="record-type">
{{ tr(msg="zone-content-record-type-mailservers", attr="type-name", lang=lang) }}
</p>
<ul>
{%- for mailserver in records.mailservers.0.mailservers.mailservers -%}
<li>
<span class="pill">
{{ mailserver.mail_exchanger }}
</span>
</li>
{%- endfor -%}
</ul>
<div class="tags">
<span class="badge {% if records.spf %}badge-ok{% else %}badge-warning{% endif %}">
{%- if records.spf -%}
{{ icons::check_circle() }}
<span class="visually-hidden">{{ tr(msg="zone-content-security-ok", lang=lang) }}</span>
{%- else -%}
<span class="visually-hidden">{{ tr(msg="zone-content-security-warning", lang=lang) }}</span>
{{ icons::exclamation_triangle() }}
{%- endif -%}
{{ tr(msg="zone-content-record-type-spf", attr="type-name", lang=lang) }}
</span>
<span class="badge {% if records.dkim %}badge-ok{% else %}badge-warning{% endif %}">
{%- if records.dkim -%}
{{ icons::check_circle() }}
<span class="visually-hidden">{{ tr(msg="zone-content-security-ok", lang=lang) }}</span>
{%- else -%}
{{ icons::exclamation_triangle() }}
<span class="visually-hidden">{{ tr(msg="zone-content-security-warning", lang=lang) }}</span>
{%- endif -%}
{{ tr(msg="zone-content-record-type-dkim", attr="type-name", lang=lang) }}
</span>
<span class="badge {% if records.dmarc %}badge-ok{% else %}badge-warning{% endif %}">
{%- if records.dmarc -%}
{{ icons::check_circle() }}
<span class="visually-hidden">{{ tr(msg="zone-content-security-ok", lang=lang) }}</span>
{%- else -%}
{{ icons::exclamation_triangle() }}
<span class="visually-hidden">{{ tr(msg="zone-content-security-warning", lang=lang) }}</span>
{%- endif -%}
{{ tr(msg="zone-content-record-type-dmarc", attr="type-name", lang=lang) }}
</span>
</div>
{%- elif section == "service" -%}
{%- for service in records.service -%}
<p class="record-type">
{%- if service.service.service_type.service_type == "other" -%}
{{ service.service.service_type.name }}/{{ service.service.service_type.protocol }}
{%- else -%}
{{ service.service.service_type.service_type }}
{%- endif -%}
</p>
<ul>
{%- for service_target in service.service.service_targets -%}
<li>
<span class="pill">
{{ service_target.server ~ ":" ~ service_target.port }}
</span>
</li>
{%- endfor -%}
</ul>
{%- endfor -%}
{%- endif -%}
</article>
{% endmacro card %}