mirror of
https://github.com/Nebucatnetzer/network_inventory.git
synced 2024-06-21 06:56:54 +02:00
group ips by the nets
This commit is contained in:
parent
6ceb604dd4
commit
95161cda3f
|
@ -56,13 +56,16 @@ class ConnectedDevice(Device):
|
|||
net = models.ManyToManyField(Net, through='DeviceInNet')
|
||||
|
||||
@property
|
||||
def ips(self):
|
||||
nets = DeviceInNet.objects.filter(device=self.id)
|
||||
ip_addresses = {}
|
||||
for net in nets:
|
||||
ip = '{}: {}'.format(net.net.name, net.ip)
|
||||
ip_addresses[net.net_id] = ip
|
||||
return ip_addresses
|
||||
def nets(self):
|
||||
nets_result = DeviceInNet.objects.filter(device=self.id).order_by('net')
|
||||
nets = []
|
||||
for net in nets_result:
|
||||
ip_addresses = {}
|
||||
ip_addresses['net_id'] = net.net.id
|
||||
ip_addresses['ip'] = net.ip
|
||||
ip_addresses['name'] = net.net.name
|
||||
nets.append(ip_addresses)
|
||||
return nets
|
||||
|
||||
class Meta:
|
||||
verbose_name_plural = "Connected Devices"
|
||||
|
|
|
@ -1,16 +1,19 @@
|
|||
{% if device.ips %}
|
||||
{% if device.nets %}
|
||||
<div class="card">
|
||||
<div class="content">
|
||||
<div class="header">IPs</div>
|
||||
<table class="ui celled table">
|
||||
{% regroup device.nets by name as nets_list %}
|
||||
{% for net in nets_list %}
|
||||
<tr>
|
||||
<td><b>IPs:</b></td>
|
||||
<td><b>{{ net.grouper }}</b></td>
|
||||
<td>
|
||||
{% for net_id, ip in device.ips.items %}
|
||||
<a href="{% url 'net' net_id %}">{{ip}}</a><br>
|
||||
{% for ip in net.list %}
|
||||
<a href="{% url 'net' ip.net_id %}">{{ ip.ip }}</a><br>
|
||||
{% endfor %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue
Block a user