device_inventory.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. {% extends '_base.html' %}
  2. {% block title %}{{ device }} - Inventory{% endblock %}
  3. {% block content %}
  4. {% include 'dcim/inc/_device_header.html' with active_tab='inventory' %}
  5. <div class="row">
  6. <div class="col-md-4">
  7. <div class="panel panel-default">
  8. <div class="panel-heading">
  9. <strong>Chassis</strong>
  10. </div>
  11. <table class="table table-hover panel-body">
  12. <tr>
  13. <td>Model</td>
  14. <td>{{ device.device_type }}</td>
  15. </tr>
  16. <tr>
  17. <td>Serial Number</td>
  18. <td>{{ device.serial }}</td>
  19. </tr>
  20. </table>
  21. </div>
  22. </div>
  23. <div class="col-md-8">
  24. <div class="panel panel-default">
  25. <div class="panel-heading">
  26. <strong>Hardware</strong>
  27. </div>
  28. <table class="table table-hover table-condensed panel-body" id="hardware">
  29. <thead>
  30. <tr>
  31. <th>Module</th>
  32. <th></th>
  33. <th>Manufacturer</th>
  34. <th>Part Number</th>
  35. <th>Serial Number</th>
  36. <th></th>
  37. </tr>
  38. </thead>
  39. <tbody>
  40. {% for m in modules %}
  41. <tr>
  42. <td>{{ m.name }}</td>
  43. <td>{% if not m.discovered %}<i class="fa fa-asterisk" title="Manually created"></i>{% endif %}</td>
  44. <td>{{ m.manufacturer|default:'' }}</td>
  45. <td>{{ m.part_id }}</td>
  46. <td>{{ m.serial }}</td>
  47. <td class="text-right">
  48. {% if perms.dcim.change_module %}
  49. <a href="{% url 'dcim:module_edit' pk=m.pk %}" class="btn btn-xs btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
  50. {% endif %}
  51. {% if perms.dcim.delete_module %}
  52. <a href="{% url 'dcim:module_delete' pk=m.pk %}" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></a>
  53. {% endif %}
  54. </td>
  55. </tr>
  56. {% for m2 in m.submodules.all %}
  57. <tr>
  58. <td style="padding-left: 20px">{{ m2.name }}</td>
  59. <td>{% if not m2.discovered %}<i class="fa fa-asterisk" title="Manually created"></i>{% endif %}</td>
  60. <td>{{ m2.manufacturer|default:'' }}</td>
  61. <td>{{ m2.part_id }}</td>
  62. <td>{{ m2.serial }}</td>
  63. <td class="text-right">
  64. {% if perms.dcim.change_module %}
  65. <a href="{% url 'dcim:module_edit' pk=m.pk %}" class="btn btn-xs btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
  66. {% endif %}
  67. {% if perms.dcim.delete_module %}
  68. <a href="{% url 'dcim:module_delete' pk=m.pk %}" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></a>
  69. {% endif %}
  70. </td>
  71. </tr>
  72. {% for m3 in m2.submodules.all %}
  73. <tr>
  74. <td style="padding-left: 40px">{{ m3.name }}</td>
  75. <td>{% if not m3.discovered %}<i class="fa fa-asterisk" title="Manually created"></i>{% endif %}</td>
  76. <td>{{ m3.manufacturer|default:'' }}</td>
  77. <td>{{ m3.part_id }}</td>
  78. <td>{{ m3.serial }}</td>
  79. <td class="text-right">
  80. {% if perms.dcim.change_module %}
  81. <a href="{% url 'dcim:module_edit' pk=m.pk %}" class="btn btn-xs btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
  82. {% endif %}
  83. {% if perms.dcim.delete_module %}
  84. <a href="{% url 'dcim:module_delete' pk=m.pk %}" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></a>
  85. {% endif %}
  86. </td>
  87. </tr>
  88. {% for m4 in m3.submodules.all %}
  89. <tr>
  90. <td style="padding-left: 60px">{{ m4.name }}</td>
  91. <td>{% if not m4.discovered %}<i class="fa fa-asterisk" title="Manually created"></i>{% endif %}</td>
  92. <td>{{ m4.manufacturer|default:'' }}</td>
  93. <td>{{ m4.part_id }}</td>
  94. <td>{{ m4.serial }}</td>
  95. <td class="text-right">
  96. {% if perms.dcim.change_module %}
  97. <a href="{% url 'dcim:module_edit' pk=m.pk %}" class="btn btn-xs btn-warning"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
  98. {% endif %}
  99. {% if perms.dcim.delete_module %}
  100. <a href="{% url 'dcim:module_delete' pk=m.pk %}" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></a>
  101. {% endif %}
  102. </td>
  103. </tr>
  104. {% endfor %}
  105. {% endfor %}
  106. {% endfor %}
  107. {% endfor %}
  108. </tbody>
  109. </table>
  110. </div>
  111. {% if perms.dcim.add_module %}
  112. <a href="{% url 'dcim:module_add' pk=device.pk %}" class="btn btn-success">
  113. <span class="fa fa-plus" aria-hidden="true"></span>
  114. Add a Module
  115. </a>
  116. {% endif %}
  117. </div>
  118. </div>
  119. {% endblock %}