prefix.html 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. {% extends '_base.html' %}
  2. {% load render_table from django_tables2 %}
  3. {% block title %}{{ prefix }}{% endblock %}
  4. {% block content %}
  5. {% include 'ipam/inc/prefix_header.html' with active_tab='prefix' %}
  6. <div class="row">
  7. <div class="col-md-5">
  8. <div class="panel panel-default">
  9. <div class="panel-heading">
  10. <strong>Details</strong>
  11. </div>
  12. <table class="table table-hover panel-body">
  13. <tr>
  14. <td>Family</td>
  15. <td>{{ prefix.get_family_display }}</td>
  16. </tr>
  17. <tr>
  18. <td>VRF</td>
  19. <td>
  20. {% if prefix.vrf %}
  21. <a href="{% url 'ipam:vrf' pk=prefix.vrf.pk %}">{{ prefix.vrf }}</a> ({{ prefix.vrf.rd }})
  22. {% else %}
  23. <span>Global</span>
  24. {% endif %}
  25. </td>
  26. </tr>
  27. <tr>
  28. <td>Aggregate</td>
  29. <td>
  30. {% if aggregate %}
  31. <a href="{% url 'ipam:aggregate' pk=aggregate.pk %}">{{ aggregate.prefix }}</a> ({{ aggregate.rir }})
  32. {% else %}
  33. <span class="text-warning">None</span>
  34. {% endif %}
  35. </td>
  36. </tr>
  37. <tr>
  38. <td>Site</td>
  39. <td>
  40. {% if prefix.site %}
  41. <a href="{% url 'dcim:site' slug=prefix.site.slug %}">{{ prefix.site }}</a>
  42. {% else %}
  43. <span class="text-muted">Not assigned</span>
  44. {% endif %}
  45. </td>
  46. </tr>
  47. <tr>
  48. <td>VLAN</td>
  49. <td>
  50. {% if prefix.vlan %}
  51. <a href="{% url 'ipam:vlan' pk=prefix.vlan.pk %}">{{ prefix.vlan.name }} ({{ prefix.vlan.vid }})</a>
  52. {% else %}
  53. <span class="text-muted">Not assigned</span>
  54. {% endif %}
  55. </td>
  56. </tr>
  57. <tr>
  58. <td>Status</td>
  59. <td>
  60. <span class="label label-{{ prefix.status.get_bootstrap_class_display|lower }}">{{ prefix.status }}</span>
  61. </td>
  62. </tr>
  63. <tr>
  64. <td>Role</td>
  65. <td>{{ prefix.role }}</td>
  66. </tr>
  67. <tr>
  68. <td>Description</td>
  69. <td>
  70. {% if prefix.description %}
  71. <span>{{ prefix.description }}</span>
  72. {% else %}
  73. <span class="text-muted">None</span>
  74. {% endif %}
  75. </td>
  76. </tr>
  77. <tr>
  78. <td>IP Addresses</td>
  79. <td><a href="{% url 'ipam:prefix_ipaddresses' pk=prefix.pk %}">{{ ipaddress_count }}</a></td>
  80. </tr>
  81. </table>
  82. </div>
  83. </div>
  84. <div class="col-md-7">
  85. {% if duplicate_prefix_table.rows %}
  86. {% with heading='Duplicate Prefixes' panel_class='danger' %}
  87. {% render_table duplicate_prefix_table 'panel_table.html' %}
  88. {% endwith %}
  89. {% endif %}
  90. {% with heading='Parent Prefixes' %}
  91. {% render_table parent_prefix_table 'panel_table.html' %}
  92. {% endwith %}
  93. </div>
  94. </div>
  95. <div class="row">
  96. <div class="col-md-12">
  97. {% if child_prefix_table.rows %}
  98. {% include 'utilities/obj_table.html' with table=child_prefix_table table_template='panel_table.html' heading='Child Prefixes' parent=prefix bulk_edit_url='ipam:prefix_bulk_edit' bulk_delete_url='ipam:prefix_bulk_delete' %}
  99. {% elif prefix.new_subnet %}
  100. <a href="{% url 'ipam:prefix_add' %}?prefix={{ prefix.new_subnet }}{% if prefix.vrf %}&vrf={{ prefix.vrf.pk }}{% endif %}{% if prefix.site %}&site={{ prefix.site.pk }}{% endif %}" class="btn btn-success">
  101. <i class="glyphicon glyphicon-plus" aria-hidden="true"></i> Add Child Prefix
  102. </a>
  103. {% endif %}
  104. </div>
  105. </div>
  106. {% endblock %}