1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #7600: Include count of available IPs on prefix view

This commit is contained in:
jeremystretch
2021-12-29 09:59:25 -05:00
parent 9c9fcaf42f
commit f2aa35d3d2
3 changed files with 154 additions and 120 deletions

View File

@ -5,6 +5,7 @@
### Enhancements
* [#6782](https://github.com/netbox-community/netbox/issues/6782) - Enable the inclusion of custom links in tables
* [#7600](https://github.com/netbox-community/netbox/issues/7600) - Include count of available IPs on prefix view
* [#8100](https://github.com/netbox-community/netbox/issues/8100) - Add "other" choice for FHRP group protocol
* [#8175](https://github.com/netbox-community/netbox/issues/8175) - Display parent object when attaching an image

View File

@ -418,7 +418,7 @@ class PrefixView(generic.ObjectView):
).filter(
prefix__net_contains=str(instance.prefix)
).prefetch_related(
'site', 'role'
'site', 'role', 'tenant'
)
parent_prefix_table = tables.PrefixTable(
list(parent_prefixes),

View File

@ -6,9 +6,7 @@
<div class="row">
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">
Prefix
</h5>
<h5 class="card-header">Prefix</h5>
<div class="card-body">
<table class="table table-hover attr-table">
<tr>
@ -104,6 +102,16 @@
{% endif %}
</td>
</tr>
</table>
</div>
</div>
{% plugin_left_page object %}
</div>
<div class="col col-md-6">
<div class="card">
<h5 class="card-header">Addressing</h5>
<div class="card-body">
<table class="table table-hover attr-table">
<tr>
<th scope="row">Utilization</th>
<td>
@ -115,12 +123,37 @@
{% endif %}
</td>
</tr>
{% with child_ip_count=object.get_child_ips.count %}
<tr>
<th scope="row">Child IPs</th>
<td>
<a href="{% url 'ipam:prefix_ipaddresses' pk=object.pk %}">{{ child_ip_count }}</a>
</td>
</tr>
<tr>
<th scope="row">Available IPs</th>
<td>{{ object.get_available_ips|length }}</td>
</tr>
{% endwith %}
<tr>
<td>First available IP</td>
<td>
{% with first_available_ip=object.get_first_available_ip %}
{% if first_available_ip %}
{% if perms.ipam.add_ipaddress %}
<a href="{% url 'ipam:ipaddress_add' %}?address={{ first_available_ip }}">{{ first_available_ip }}</a>
{% else %}
{{ first_available_ip }}
{% endif %}
{% else %}
<span class="text-muted">None</span>
{% endif %}
{% endwith %}
</td>
</tr>
</table>
</div>
</div>
{% plugin_left_page object %}
</div>
<div class="col col-md-6">
{% include 'inc/panels/custom_fields.html' %}
{% include 'inc/panels/tags.html' %}
{% plugin_right_page object %}