{% extends 'generic/object.html' %} {% load static %} {% load lens %} {% block head %} {{ block.super }} {% include 'netbox_spatial_lens/inc/palette.html' %} {% endblock %} {% block content %}
{% include 'netbox_spatial_lens/inc/levels.html' with site=object.effective_site floor=object %} {% include 'netbox_spatial_lens/inc/help.html' with text='Drag a rack to move it. Click a rack to select it, then rotate or remove it. Pick a rack under Not yet placed, then click the floor to put it down. Ctrl + wheel zooms; drag the floor to move it when zoomed. Nothing is written until Save.' %}
{% include 'netbox_spatial_lens/inc/zoom.html' %} {% include 'netbox_spatial_lens/inc/floor_svg.html' with floor=object zoomable=True %}

Not yet placed

{% for rack, width, depth, estimated in unplaced_racks %}
{{ rack.name }} {{ rack.u_height }}U
{% empty %}

Every rack at this site is placed.

{% endfor %}
{% comment %} The editor is handed its ids and endpoints rather than deriving them, so the script stays free of URL construction and works unchanged if the API is mounted elsewhere. {% endcomment %} {% comment %} NetBox sets CSRF_COOKIE_HTTPONLY, so the editor cannot read the token from document.cookie and every write would come back 403. This renders the readable copy it reads instead. {% endcomment %}
{% csrf_token %}
{% endblock %}