{% extends 'base/layout.html' %} {% block title %}Bridge matrix{% endblock %} {% block content %}

Bridge matrix Import CSV

Set which racks of a room may be joined by a direct cord: a bridge between two backbone segments, a satellite rack reaching a neighbour's panel, a saturated rack borrowing a neighbour's capacity, or a last-resort direct cable between two devices. A room with no allowed pair is open — every pair may be joined; adding pairs makes it restricted to exactly those pairs.

{% if site %}
{% endif %}
{% if location %}

{{ location.name }}

{% if error %}
{{ error }}
{% endif %} {% if racks|length < 2 %}

This room has fewer than two racks — no pair to bridge.

{% else %}
{% csrf_token %}
{% for c in racks %}{% endfor %} {% for row in grid %} {% for cell in row.cells %} {% if cell.active %} {% else %} {% endif %} {% endfor %} {% endfor %}
{{ c.name }}
{{ row.rack.name }} {% comment %} a locked cell is a pair this user's own save could not write — the racks are outside their scope, or their add/delete rights are — so it is never tickable. A locked cell that is already ticked posts its state back in a hidden field: a disabled checkbox submits nothing, which would read as "untick it" and warn about a deletion the user never asked for and could not have made. {% endcomment %} {% if cell.locked and cell.checked %} {% endif %}
{% endif %}
{% endif %} {% endblock %}