_rack_elevation.html 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <ul class="rack_legend">
  2. {% for u in rack.units %}
  3. <li>{{ u }}</li>
  4. {% endfor %}
  5. </ul>
  6. <div class="rack_frame">
  7. <!-- Render all slots empty -->
  8. <ul class="rack rack_empty">
  9. {% for u in rack.units %}
  10. <li></li>
  11. {% endfor %}
  12. </ul>
  13. <!-- Render rear view of devices on far face -->
  14. <ul class="rack rack_far_face">
  15. {% for u in secondary_face %}
  16. {% if u.device %}
  17. <li class="occupied h{{ u.device.device_type.u_height }}u{% if u.device.device_type.is_full_depth %} blocked{% endif %}"></li>
  18. {% else %}
  19. <li></li>
  20. {% endif %}
  21. {% endfor %}
  22. </ul>
  23. <!-- Render front view of devices on near face -->
  24. <ul class="rack rack_near_face">
  25. {% for u in primary_face %}
  26. {% if u.device %}
  27. <li class="occupied h{{ u.device.device_type.u_height }}u{% ifequal u.device.face face_id %} {{ u.device.device_role.color }}{% endifequal %}">
  28. {% ifequal u.device.face face_id %}
  29. <a href="{% url 'dcim:device' pk=u.device.pk %}" data-toggle="popover" data-trigger="hover" data-container="body" data-html="true"
  30. data-content="{{ u.device.device_role }}<br />{{ u.device.device_type }} ({{ u.device.device_type.u_height }}U)">
  31. {{ u.device.name|default:u.device.device_role }}
  32. {% if u.device.devicebay_count %}
  33. ({{ u.device.get_children.count }}/{{ u.device.devicebay_count }})
  34. {% endif %}
  35. </a>
  36. {% else %}
  37. <span>{{ u.device.name|default:u.device.device_role }}</span>
  38. {% endifequal %}
  39. </li>
  40. {% else %}
  41. <li class="empty">
  42. {% if perms.dcim.add_device %}
  43. <a href="{% url 'dcim:device_add' %}?site={{ rack.site.pk }}&rack={{ rack.pk }}&face={{ face_id }}&position={{ u.id }}" class="add_device" >add device</a>
  44. {% endif %}
  45. </li>
  46. {% endif %}
  47. {% endfor %}
  48. </ul>
  49. </div>