platform.html 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. {% extends 'generic/object.html' %}
  2. {% load helpers %}
  3. {% load plugins %}
  4. {% load render_table from django_tables2 %}
  5. {% block breadcrumbs %}
  6. {{ block.super }}
  7. {% if object.manufacturer %}
  8. <li class="breadcrumb-item"><a href="{% url 'dcim:platform_list' %}?manufacturer_id={{ object.manufacturer.pk }}">{{ object.manufacturer }}</a></li>
  9. {% endif %}
  10. {% endblock %}
  11. {% block extra_controls %}
  12. {% if perms.dcim.add_device %}
  13. <a href="{% url 'dcim:device_add' %}?device_role={{ object.pk }}" class="btn btn-sm btn-primary">
  14. <span class="mdi mdi-plus-thick" aria-hidden="true"></span> Add Device
  15. </a>
  16. {% endif %}
  17. {% endblock extra_controls %}
  18. {% block content %}
  19. <div class="row mb-3">
  20. <div class="col col-md-6">
  21. <div class="card">
  22. <h5 class="card-header">
  23. Platform
  24. </h5>
  25. <div class="card-body">
  26. <table class="table table-hover attr-table">
  27. <tr>
  28. <th scope="row">Name</th>
  29. <td>{{ object.name }}</td>
  30. </tr>
  31. <tr>
  32. <th scope="row">Description</th>
  33. <td>{{ object.description|placeholder }}</td>
  34. </tr>
  35. <tr>
  36. <th scope="row">Manufacturer</th>
  37. <td>{{ object.manufacturer|linkify|placeholder }}</td>
  38. </tr>
  39. <tr>
  40. <th scope="row">NAPALM Driver</th>
  41. <td>{{ object.napalm_driver|placeholder }}</td>
  42. </tr>
  43. <tr>
  44. <th scope="row">Devices</th>
  45. <td>
  46. <a href="{% url 'dcim:device_list' %}?platform_id={{ object.pk }}">{{ devices_table.rows|length }}</a>
  47. </td>
  48. </tr>
  49. <tr>
  50. <th scope="row">Virtual Machines</th>
  51. <td>
  52. <a href="{% url 'virtualization:virtualmachine_list' %}?platform_id={{ object.pk }}">{{ virtualmachine_count }}</a>
  53. </td>
  54. </tr>
  55. </table>
  56. </div>
  57. </div>
  58. {% include 'inc/panels/tags.html' %}
  59. {% plugin_left_page object %}
  60. </div>
  61. <div class="col col-md-6">
  62. <div class="card">
  63. <h5 class="card-header">
  64. NAPALM Arguments
  65. </h5>
  66. <div class="card-body">
  67. <pre>{{ object.napalm_args|json }}</pre>
  68. </div>
  69. </div>
  70. {% include 'inc/panels/custom_fields.html' %}
  71. {% plugin_right_page object %}
  72. </div>
  73. </div>
  74. <div class="row mb-3">
  75. <div class="col col-md-12">
  76. <div class="card">
  77. <h5 class="card-header">Devices</h5>
  78. <div class="card-body table-responsive">
  79. {% render_table devices_table 'inc/table.html' %}
  80. {% include 'inc/paginator.html' with paginator=devices_table.paginator page=devices_table.page %}
  81. </div>
  82. </div>
  83. {% plugin_full_width_page object %}
  84. </div>
  85. </div>
  86. {% endblock %}