This commit is contained in:
parent
f149ccb302
commit
288ba749e8
|
|
@ -352,6 +352,7 @@ class IPAddressFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryMode
|
|||
),
|
||||
FieldSet('vrf_id', 'present_in_vrf_id', name=_('VRF')),
|
||||
FieldSet('device_id', 'virtual_machine_id', name=_('Device/VM')),
|
||||
FieldSet('nat_inside_id', name=_('NAT')),
|
||||
FieldSet('tenant_group_id', 'tenant_id', name=_('Tenant')),
|
||||
FieldSet('owner_group_id', 'owner_id', name=_('Ownership')),
|
||||
FieldSet('contact', 'contact_role', 'contact_group', name=_('Contacts')),
|
||||
|
|
@ -397,6 +398,11 @@ class IPAddressFilterForm(ContactModelFilterForm, TenancyFilterForm, PrimaryMode
|
|||
required=False,
|
||||
label=_('Assigned VM'),
|
||||
)
|
||||
nat_inside_id = DynamicModelMultipleChoiceField(
|
||||
queryset=IPAddress.objects.all(),
|
||||
required=False,
|
||||
label=_('NAT inside'),
|
||||
)
|
||||
status = forms.MultipleChoiceField(
|
||||
label=_('Status'),
|
||||
choices=IPAddressStatusChoices,
|
||||
|
|
|
|||
|
|
@ -1307,6 +1307,10 @@ class IPAddressTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||
)
|
||||
IPAddress.objects.bulk_create(ipaddresses)
|
||||
|
||||
IPAddress.objects.filter(pk__in=[ipaddresses[1].pk, ipaddresses[2].pk]).update(
|
||||
nat_inside=ipaddresses[0]
|
||||
)
|
||||
|
||||
services = (
|
||||
Service(
|
||||
parent=devices[0],
|
||||
|
|
@ -1476,6 +1480,11 @@ class IPAddressTestCase(TestCase, ChangeLoggedFilterSetTests):
|
|||
params = {'service_id': [services[0].pk, services[1].pk]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_nat_inside(self):
|
||||
inside = IPAddress.objects.filter(nat_outside__isnull=False).distinct().first()
|
||||
params = {'nat_inside_id': [inside.pk]}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
class FHRPGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
|
||||
queryset = FHRPGroup.objects.all()
|
||||
|
|
|
|||
|
|
@ -1,2 +1,17 @@
|
|||
{% load helpers %}
|
||||
{% for ip in value.all %}{{ ip|linkify }}{% if ip.assigned_object %} ({{ ip.assigned_object.parent_object|linkify }}){% endif %}<br/>{% empty %}<span class="text-muted">—</span>{% endfor %}
|
||||
{% with ips=value.all|slice:":11" %}
|
||||
{% if ips %}
|
||||
<ul class="list-unstyled mb-0">
|
||||
{% for ip in ips|slice:":10" %}
|
||||
<li>{{ ip|linkify }}{% if ip.assigned_object %} ({{ ip.assigned_object.parent_object|linkify }}){% endif %}</li>
|
||||
{% endfor %}
|
||||
{% if ips|length > 10 %}
|
||||
<li>
|
||||
<a href="{% url 'ipam:ipaddress_list' %}?nat_inside_id={{ object.pk }}" class="text-muted">…</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<span class="text-muted">—</span>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
|
|
|
|||
Loading…
Reference in New Issue