rack_elevation.html 2.7 KB

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