circuit.html 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. {% extends '_base.html' %}
  2. {% load helpers %}
  3. {% block title %}{{ circuit.provider }} - {{ circuit.cid }}{% endblock %}
  4. {% block content %}
  5. <div class="row">
  6. <div class="col-md-9">
  7. <ol class="breadcrumb">
  8. <li><a href="{% url 'circuits:circuit_list' %}">Circuits</a></li>
  9. <li><a href="{% url 'circuits:circuit_list' %}?provider={{ circuit.provider.slug }}">{{ circuit.provider }}</a></li>
  10. <li>{{ circuit.cid }}</li>
  11. </ol>
  12. </div>
  13. <div class="col-md-3">
  14. <form action="{% url 'circuits:circuit_list' %}" method="get">
  15. <div class="input-group">
  16. <input type="text" name="q" class="form-control" />
  17. <span class="input-group-btn">
  18. <button type="submit" class="btn btn-primary">
  19. <span class="fa fa-search" aria-hidden="true"></span>
  20. </button>
  21. </span>
  22. </div>
  23. </form>
  24. </div>
  25. </div>
  26. <div class="pull-right">
  27. {% if perms.circuits.change_circuit %}
  28. <a href="{% url 'circuits:circuit_edit' pk=circuit.pk %}" class="btn btn-warning">
  29. <span class="fa fa-pencil" aria-hidden="true"></span>
  30. Edit this circuit
  31. </a>
  32. {% endif %}
  33. {% if perms.circuits.delete_circuit %}
  34. <a href="{% url 'circuits:circuit_delete' pk=circuit.pk %}" class="btn btn-danger">
  35. <span class="fa fa-trash" aria-hidden="true"></span>
  36. Delete this circuit
  37. </a>
  38. {% endif %}
  39. </div>
  40. <h1>{{ circuit.provider }} - {{ circuit.cid }}</h1>
  41. <div class="row">
  42. <div class="col-md-6">
  43. <div class="panel panel-default">
  44. <div class="panel-heading">
  45. <strong>Circuit</strong>
  46. </div>
  47. <table class="table table-hover panel-body">
  48. <tr>
  49. <td>Provider</td>
  50. <td>
  51. <a href="{% url 'circuits:provider' slug=circuit.provider.slug %}">{{ circuit.provider }}</a>
  52. </td>
  53. </tr>
  54. <tr>
  55. <td>Circuit ID</td>
  56. <td>{{ circuit.cid }}</td>
  57. </tr>
  58. <tr>
  59. <td>Type</td>
  60. <td><a href="{{ circuit.type.get_absolute_url }}">{{ circuit.type }}</a></td>
  61. </tr>
  62. <tr>
  63. <td>Tenant</td>
  64. <td>
  65. {% if circuit.tenant %}
  66. <a href="{{ circuit.tenant.get_absolute_url }}">{{ circuit.tenant }}</a>
  67. {% else %}
  68. <span class="text-muted">None</span>
  69. {% endif %}
  70. </td>
  71. </tr>
  72. <tr>
  73. <td>Install Date</td>
  74. <td>
  75. {% if circuit.install_date %}
  76. {{ circuit.install_date }}
  77. {% else %}
  78. <span class="text-muted">N/A</span>
  79. {% endif %}
  80. </td>
  81. </tr>
  82. <tr>
  83. <td>Speed</td>
  84. <td>
  85. {% if circuit.upstream_speed %}
  86. <i class="fa fa-arrow-down" title="Downstream"></i> {{ circuit.port_speed_human }} &nbsp;
  87. <i class="fa fa-arrow-up" title="Upstream"></i> {{ circuit.upstream_speed_human }}
  88. {% else %}
  89. {{ circuit.port_speed_human }}
  90. {% endif %}
  91. </td>
  92. </tr>
  93. <tr>
  94. <td>Commit Rate</td>
  95. <td>
  96. {% if circuit.commit_rate %}
  97. {{ circuit.commit_rate_human }}
  98. {% else %}
  99. <span class="text-muted">N/A</span>
  100. {% endif %}
  101. </td>
  102. </tr>
  103. <tr>
  104. <td>Created</td>
  105. <td>{{ circuit.created }}</td>
  106. </tr>
  107. <tr>
  108. <td>Last Updated</td>
  109. <td>{{ circuit.last_updated }}</td>
  110. </tr>
  111. </table>
  112. </div>
  113. </div>
  114. <div class="col-md-6">
  115. <div class="panel panel-default">
  116. <div class="panel-heading">
  117. <strong>Termination</strong>
  118. </div>
  119. <table class="table table-hover panel-body">
  120. <tr>
  121. <td>Site</td>
  122. <td>
  123. <a href="{% url 'dcim:site' slug=circuit.site.slug %}">{{ circuit.site }}</a>
  124. </td>
  125. </tr>
  126. <tr>
  127. <td>Termination</td>
  128. <td>
  129. {% if circuit.interface %}
  130. <span><a href="{% url 'dcim:device' pk=circuit.interface.device.pk %}">{{ circuit.interface.device }}</a> {{ circuit.interface }}</span>
  131. {% else %}
  132. <span class="text-muted">Not defined</span>
  133. {% endif %}
  134. </td>
  135. </tr>
  136. <tr>
  137. <td>Cross-Connect</td>
  138. <td>
  139. {% if circuit.xconnect_id %}
  140. {{ circuit.xconnect_id }}
  141. {% else %}
  142. <span class="text-muted">N/A</span>
  143. {% endif %}
  144. </td>
  145. </tr>
  146. <tr>
  147. <td>Patch Panel/Port</td>
  148. <td>
  149. {% if circuit.pp_info %}
  150. {{ circuit.pp_info }}
  151. {% else %}
  152. <span class="text-muted">N/A</span>
  153. {% endif %}
  154. </td>
  155. </tr>
  156. </table>
  157. </div>
  158. <div class="panel panel-default">
  159. <div class="panel-heading">
  160. <strong>Comments</strong>
  161. </div>
  162. <div class="panel-body">
  163. {% if circuit.comments %}
  164. {{ circuit.comments|gfm }}
  165. {% else %}
  166. <span class="text-muted">None</span>
  167. {% endif %}
  168. </div>
  169. </div>
  170. </div>
  171. </div>
  172. {% endblock %}