site.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. {% extends '_base.html' %}
  2. {% load static from staticfiles %}
  3. {% load render_table from django_tables2 %}
  4. {% load helpers %}
  5. {% block title %}{{ site }}{% endblock %}
  6. {% block content %}
  7. <div class="pull-right">
  8. <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#graphs_modal" data-obj="{{ site.name }}" data-url="{% url 'dcim-api:site_graphs' pk=site.pk %}" title="Show graphs">
  9. <i class="glyphicon glyphicon-signal" aria-hidden="true"></i>
  10. Graphs
  11. </button>
  12. {% if perms.dcim.change_site %}
  13. <a href="{% url 'dcim:site_edit' slug=site.slug %}" class="btn btn-warning">
  14. <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
  15. Edit this site
  16. </a>
  17. {% endif %}
  18. {% if perms.dcim.delete_site %}
  19. <a href="{% url 'dcim:site_delete' slug=site.slug %}" class="btn btn-danger">
  20. <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
  21. Delete this site
  22. </a>
  23. {% endif %}
  24. </div>
  25. <h1>{{ site.name }}</h1>
  26. <div class="row">
  27. <div class="col-md-6">
  28. <div class="panel panel-default">
  29. <div class="panel-heading">
  30. <strong>Site</strong>
  31. </div>
  32. <table class="table table-hover panel-body">
  33. <tr>
  34. <td>Facility</td>
  35. <td>{{ site.facility }}</td>
  36. </tr>
  37. <tr>
  38. <td>AS Number</td>
  39. <td>{{ site.asn }}</td>
  40. </tr>
  41. <tr>
  42. <td>Physical Address</td>
  43. <td>
  44. {% if site.physical_address %}
  45. <div class="pull-right">
  46. <a href="http://maps.google.com/?q={{ site.physical_address|oneline }}" target="_blank" class="btn btn-primary btn-xs">
  47. <i class="glyphicon glyphicon-map-marker"></i> Map it
  48. </a>
  49. </div>
  50. {% endif %}
  51. <span>{{ site.physical_address|linebreaksbr }}</span>
  52. </td>
  53. </tr>
  54. <tr>
  55. <td>Shipping Address</td>
  56. <td>
  57. {% if site.shipping_address %}
  58. <span>{{ site.shipping_address|linebreaksbr }}</span>
  59. {% else %}
  60. <span class="text-muted">See physical address</span>
  61. {% endif %}
  62. </td>
  63. </tr>
  64. <tr>
  65. <td>Created</td>
  66. <td>{{ site.created }}</td>
  67. </tr>
  68. <tr>
  69. <td>Last Updated</td>
  70. <td>{{ site.last_updated }}</td>
  71. </tr>
  72. </table>
  73. </div>
  74. <div class="panel panel-default">
  75. <div class="panel-heading">
  76. <strong>Comments</strong>
  77. </div>
  78. <div class="panel-body">
  79. {% if site.comments %}
  80. {{ site.comments|gfm }}
  81. {% else %}
  82. <span class="text-muted">None</span>
  83. {% endif %}
  84. </div>
  85. </div>
  86. </div>
  87. <div class="col-md-6">
  88. <div class="panel panel-default">
  89. <div class="panel-heading">
  90. <strong>Stats</strong>
  91. </div>
  92. <table class="table table-hover panel-body">
  93. <tr>
  94. <td>Racks</td>
  95. <td>
  96. <a href="{% url 'dcim:rack_list' %}?site={{ site.slug }}">{{ stats.rack_count }}</a>
  97. </td>
  98. </tr>
  99. <tr>
  100. <td>Devices</td>
  101. <td>
  102. <a href="{% url 'dcim:device_list' %}?site={{ site.slug }}">{{ stats.device_count }}</a>
  103. </td>
  104. </tr>
  105. <tr>
  106. <td>Prefixes</td>
  107. <td>
  108. <a href="{% url 'ipam:prefix_list' %}?site={{ site.slug }}">{{ stats.prefix_count }}</a>
  109. </td>
  110. </tr>
  111. <tr>
  112. <td>VLANs</td>
  113. <td>
  114. <a href="{% url 'ipam:vlan_list' %}?site={{ site.slug }}">{{ stats.vlan_count }}</a>
  115. </td>
  116. </tr>
  117. <tr>
  118. <td>Circuits</td>
  119. <td>
  120. <a href="{% url 'circuits:circuit_list' %}?site={{ site.slug }}">{{ stats.circuit_count }}</a>
  121. </td>
  122. </tr>
  123. </table>
  124. </div>
  125. <div class="panel panel-default">
  126. <div class="panel-heading">
  127. <strong>Topology Maps</strong>
  128. </div>
  129. {% if topology_maps %}
  130. <table class="table table-hover panel-body">
  131. {% for tm in topology_maps %}
  132. <tr>
  133. <td><i class="fa fa-fw fa-map text-success"></i> <a href="{% url 'dcim-api:topology_map' slug=tm.slug %}" target="_blank">{{ tm }}</a></td>
  134. <td>{{ tm.description }}</td>
  135. </tr>
  136. {% endfor %}
  137. </table>
  138. {% else %}
  139. <div class="panel-body text-muted">
  140. None
  141. </div>
  142. {% endif %}
  143. </div>
  144. </div>
  145. </div>
  146. {% include 'inc/graphs_modal.html' %}
  147. {% endblock %}
  148. {% block javascript %}
  149. <script src="{% static 'js/graphs.js' %}"></script>
  150. {% endblock %}