{% load helpers i18n %}
{% for row in rows %} {% endfor %}
{% trans "Policy" %} {% trans "Policy zones" %} {% trans "IP matches as" %} {% trans "Matched address entry" %} {% trans "Address book" %} {% trans "Configured actions" %} {% trans "Result" %}
{{ row.policy|linkify }}
{% trans "Index" %}: {{ row.policy_index }}
{% trans "Match and policy details" %}
{% trans "Visible source criteria" %}
{% for entry in row.criteria.source_address %} {{ entry.name }}{% if not forloop.last %}, {% endif %} {% empty %}{% trans "None specified or visible" %}{% endfor %}
{% trans "Visible destination criteria" %}
{% for entry in row.criteria.destination_address %} {{ entry.name }}{% if not forloop.last %}, {% endif %} {% empty %}{% trans "None specified or visible" %}{% endfor %}
{% trans "Applications / application sets" %}
{% for entry in row.criteria.applications %} {{ entry.name }}{% if not forloop.last %}, {% endif %} {% empty %}{% trans "No applications specified or visible" %}{% endfor %} {% for entry in row.criteria.application_sets %} · {{ entry.name }} {% endfor %}
{% trans "Matched hierarchy path" %}
{% for entry in row.matched_path %} {% if not forloop.first %} → {% endif %}{{ entry|linkify }} {% empty %}{% trans "Path or scope could not be confirmed" %}{% endfor %}
{% trans "Open policy" %}
{{ row.source_zone|linkify }} → {{ row.destination_zone|linkify }} {% if row.direction == 'source' %}{% trans "Source" %}{% else %}{% trans "Destination" %}{% endif %} {{ row.context_object|linkify }} {% if row.address_list %}
{{ row.address_list.name }}
{% endif %}
{% trans row.address_book %} {% for action in row.policy_actions %}{{ action }} {% endfor %} {% if row.match_status == 'zone_confirmed' %} {% trans "Address and zone match" %} {% elif row.match_status == 'zone_mismatch' %} {% trans "Zone mismatch" %}
{% trans "This policy requires" %} {{ row.required_zone|linkify }} {% trans "on the matching side." %}
{% elif row.match_status == 'scope_mismatch' %} {% trans "Address-book scope mismatch" %}
{% trans "The matched definition is not available in this policy's zone/device context." %}
{% else %} {% trans "Address match only — applicability unconfirmed" %}
{% trans "Zone membership or address-book scope could not be confirmed." %}
{% endif %}