tenant.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. {% extends 'generic/object.html' %}
  2. {% load helpers %}
  3. {% load plugins %}
  4. {% block breadcrumbs %}
  5. <li><a href="{% url 'tenancy:tenant_list' %}">Tenants</a></li>
  6. {% if object.group %}
  7. <li><a href="{% url 'tenancy:tenant_list' %}?group={{ object.group.slug }}">{{ object.group }}</a></li>
  8. {% endif %}
  9. <li>{{ object }}</li>
  10. {% endblock %}
  11. {% block content %}
  12. <div class="row">
  13. <div class="col-md-7">
  14. <div class="panel panel-default">
  15. <div class="panel-heading">
  16. <strong>Tenant</strong>
  17. </div>
  18. <table class="table table-hover panel-body attr-table">
  19. <tr>
  20. <td>Group</td>
  21. <td>
  22. {% if object.group %}
  23. <a href="{{ object.group.get_absolute_url }}">{{ object.group }}</a>
  24. {% else %}
  25. <span class="text-muted">None</span>
  26. {% endif %}
  27. </td>
  28. </tr>
  29. <tr>
  30. <td>Description</td>
  31. <td>{{ object.description|placeholder }}</td>
  32. </tr>
  33. </table>
  34. </div>
  35. {% include 'inc/custom_fields_panel.html' %}
  36. {% include 'extras/inc/tags_panel.html' with tags=object.tags.all url='tenancy:tenant_list' %}
  37. <div class="panel panel-default">
  38. <div class="panel-heading">
  39. <strong>Comments</strong>
  40. </div>
  41. <div class="panel-body rendered-markdown">
  42. {% if object.comments %}
  43. {{ object.comments|render_markdown }}
  44. {% else %}
  45. <span class="text-muted">None</span>
  46. {% endif %}
  47. </div>
  48. </div>
  49. {% plugin_left_page object %}
  50. </div>
  51. <div class="col-md-5">
  52. <div class="panel panel-default">
  53. <div class="panel-heading">
  54. <strong>Stats</strong>
  55. </div>
  56. <div class="row panel-body">
  57. <div class="col-md-4 text-center">
  58. <h2><a href="{% url 'dcim:site_list' %}?tenant={{ object.slug }}" class="btn {% if stats.site_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.site_count }}</a></h2>
  59. <p>Sites</p>
  60. </div>
  61. <div class="col-md-4 text-center">
  62. <h2><a href="{% url 'dcim:rack_list' %}?tenant={{ object.slug }}" class="btn {% if stats.rack_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.rack_count }}</a></h2>
  63. <p>Racks</p>
  64. </div>
  65. <div class="col-md-4 text-center">
  66. <h2><a href="{% url 'dcim:rackreservation_list' %}?tenant={{ object.slug }}" class="btn {% if stats.rackreservation_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.rackreservation_count }}</a></h2>
  67. <p>Rack reservations</p>
  68. </div>
  69. <div class="col-md-4 text-center">
  70. <h2><a href="{% url 'dcim:device_list' %}?tenant={{ object.slug }}" class="btn {% if stats.device_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.device_count }}</a></h2>
  71. <p>Devices</p>
  72. </div>
  73. <div class="col-md-4 text-center">
  74. <h2><a href="{% url 'ipam:vrf_list' %}?tenant={{ object.slug }}" class="btn {% if stats.vrf_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.vrf_count }}</a></h2>
  75. <p>VRFs</p>
  76. </div>
  77. <div class="col-md-4 text-center">
  78. <h2><a href="{% url 'ipam:prefix_list' %}?tenant={{ object.slug }}" class="btn {% if stats.prefix_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.prefix_count }}</a></h2>
  79. <p>Prefixes</p>
  80. </div>
  81. <div class="col-md-4 text-center">
  82. <h2><a href="{% url 'ipam:ipaddress_list' %}?tenant={{ object.slug }}" class="btn {% if stats.ipaddress_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.ipaddress_count }}</a></h2>
  83. <p>IP addresses</p>
  84. </div>
  85. <div class="col-md-4 text-center">
  86. <h2><a href="{% url 'ipam:vlan_list' %}?tenant={{ object.slug }}" class="btn {% if stats.vlan_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.vlan_count }}</a></h2>
  87. <p>VLANs</p>
  88. </div>
  89. <div class="col-md-4 text-center">
  90. <h2><a href="{% url 'circuits:circuit_list' %}?tenant={{ object.slug }}" class="btn {% if stats.circuit_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.circuit_count }}</a></h2>
  91. <p>Circuits</p>
  92. </div>
  93. <div class="col-md-4 text-center">
  94. <h2><a href="{% url 'virtualization:virtualmachine_list' %}?tenant={{ object.slug }}" class="btn {% if stats.virtualmachine_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.virtualmachine_count }}</a></h2>
  95. <p>Virtual machines</p>
  96. </div>
  97. <div class="col-md-4 text-center">
  98. <h2><a href="{% url 'virtualization:cluster_list' %}?tenant={{ object.slug }}" class="btn {% if stats.cluster_count %}btn-primary{% else %}btn-default{% endif %} btn-lg">{{ stats.cluster_count }}</a></h2>
  99. <p>Clusters</p>
  100. </div>
  101. </div>
  102. </div>
  103. {% plugin_right_page object %}
  104. </div>
  105. </div>
  106. <div class="row">
  107. <div class="col-md-12">
  108. {% plugin_full_width_page object %}
  109. </div>
  110. </div>
  111. {% endblock %}