{% load form_helpers %} {% load i18n %} {% load custom_object_utils %} {% load cot_form %} {# NSM override: rulebook COTs use tabbed polymorphic multi-object fields. #} {% with cot_slug=form.instance.custom_object_type.slug %} {% if cot_slug|is_nsm_rulebook_cot_slug %}
{% else %}
{% endif %} {% for group, fields in form.custom_object_type_field_groups.items %} {% if cot_slug|is_nsm_rulebook_cot_slug %} {% rulebook_group_heading group form as heading %} {% if heading %}

{% if heading.index_prefix %}{{ heading.index_prefix }}{% endif %}

{% endif %} {% elif group %}

{{ group }}

{% endif %} {% for name in fields %} {% if name in form.custom_object_type_poly_obj_ct_names %} {% with pair=form.custom_object_type_poly_obj_pairs|dict_get:name %}

{{ pair.1 }}

{% render_field form|getfield:name %} {% render_field form|getfield:pair.0 %} {% endwith %} {% elif name in form.custom_object_type_poly_m2m_groups %} {% with group_info=form.custom_object_type_poly_m2m_groups|dict_get:name %} {% if cot_slug|is_nsm_rulebook_cot_slug %} {% include "netbox_custom_objects/inc/poly_m2m_tabs.html" with group_info=group_info %} {% else %}

{{ group_info.1 }}

{% for sub_name in group_info.0 %} {% render_field form|getfield:sub_name %} {% endfor %} {% endif %} {% endwith %} {% else %} {% render_field form|getfield:name %} {% endif %} {% endfor %} {% endfor %} {% for field in form %} {% if field.name not in form.custom_object_type_rendered_names %} {% if not field.field.widget.is_hidden and not field.field.disabled and field.field.widget.input_type != 'hidden' %} {% render_field field %} {% endif %} {% endif %} {% endfor %}
{% endwith %}