From 5b2241aaaf8f52c3ba425233e8d8cb815197fbb8 Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Thu, 10 Oct 2024 15:38:48 +0200 Subject: [PATCH 1/4] fix(17542) add contact to tunnels --- netbox/vpn/models/tunnels.py | 6 +++--- netbox/vpn/views.py | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/netbox/vpn/models/tunnels.py b/netbox/vpn/models/tunnels.py index 6f4fa4182..6224959eb 100644 --- a/netbox/vpn/models/tunnels.py +++ b/netbox/vpn/models/tunnels.py @@ -6,7 +6,7 @@ from django.urls import reverse from django.utils.translation import gettext_lazy as _ from netbox.models import ChangeLoggedModel, OrganizationalModel, PrimaryModel -from netbox.models.features import CustomFieldsMixin, CustomLinksMixin, TagsMixin +from netbox.models.features import CustomFieldsMixin, CustomLinksMixin, TagsMixin, ContactsMixin from vpn.choices import * __all__ = ( @@ -16,7 +16,7 @@ __all__ = ( ) -class TunnelGroup(OrganizationalModel): +class TunnelGroup(ContactsMixin, OrganizationalModel): """ An administrative grouping of Tunnels. This can be used to correlate peer-to-peer tunnels which form a mesh, for example. @@ -30,7 +30,7 @@ class TunnelGroup(OrganizationalModel): return reverse('vpn:tunnelgroup', args=[self.pk]) -class Tunnel(PrimaryModel): +class Tunnel(ContactsMixin, PrimaryModel): name = models.CharField( verbose_name=_('name'), max_length=100, diff --git a/netbox/vpn/views.py b/netbox/vpn/views.py index ac8ce3667..73b2b04c0 100644 --- a/netbox/vpn/views.py +++ b/netbox/vpn/views.py @@ -62,6 +62,9 @@ class TunnelGroupBulkDeleteView(generic.BulkDeleteView): filterset = filtersets.TunnelGroupFilterSet table = tables.TunnelGroupTable +@register_model_view(Tunnel, 'contacts') +class TunnelGroupContactsView(ObjectContactsView): + queryset = TunnelGroup.objects.all() # # Tunnels @@ -121,6 +124,9 @@ class TunnelBulkDeleteView(generic.BulkDeleteView): filterset = filtersets.TunnelFilterSet table = tables.TunnelTable +@register_model_view(Tunnel, 'contacts') +class TunnelContactsView(ObjectContactsView): + queryset = Tunnel.objects.all() # # Tunnel terminations From 2a8728544c7fd1d3399f51d7de87c14b46f8a2d5 Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Fri, 31 Jan 2025 08:48:35 +0100 Subject: [PATCH 2/4] fix(pep) fix pep8 compliancy --- netbox/vpn/views.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/netbox/vpn/views.py b/netbox/vpn/views.py index 55d47ca62..1bcb99716 100644 --- a/netbox/vpn/views.py +++ b/netbox/vpn/views.py @@ -67,6 +67,7 @@ class TunnelGroupBulkDeleteView(generic.BulkDeleteView): filterset = filtersets.TunnelGroupFilterSet table = tables.TunnelGroupTable + @register_model_view(Tunnel, 'contacts') class TunnelGroupContactsView(ObjectContactsView): queryset = TunnelGroup.objects.all() @@ -75,6 +76,7 @@ class TunnelGroupContactsView(ObjectContactsView): # Tunnels # + @register_model_view(Tunnel, 'list', path='', detail=False) class TunnelListView(generic.ObjectListView): queryset = Tunnel.objects.annotate( @@ -134,6 +136,7 @@ class TunnelBulkDeleteView(generic.BulkDeleteView): filterset = filtersets.TunnelFilterSet table = tables.TunnelTable + @register_model_view(Tunnel, 'contacts') class TunnelContactsView(ObjectContactsView): queryset = Tunnel.objects.all() @@ -142,6 +145,7 @@ class TunnelContactsView(ObjectContactsView): # Tunnel terminations # + @register_model_view(TunnelTermination, 'list', path='', detail=False) class TunnelTerminationListView(generic.ObjectListView): queryset = TunnelTermination.objects.all() From 59cd5bc653057d879e3b0dfd7553cdfcf85fa60d Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Tue, 25 Feb 2025 09:15:55 +0100 Subject: [PATCH 3/4] fix double line breaks --- netbox/vpn/models/tunnels.py | 2 +- netbox/vpn/views.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/vpn/models/tunnels.py b/netbox/vpn/models/tunnels.py index 0d4ef17aa..9372bd535 100644 --- a/netbox/vpn/models/tunnels.py +++ b/netbox/vpn/models/tunnels.py @@ -6,7 +6,7 @@ from django.urls import reverse from django.utils.translation import gettext_lazy as _ from netbox.models import ChangeLoggedModel, OrganizationalModel, PrimaryModel -from netbox.models.features import CustomFieldsMixin, CustomLinksMixin, TagsMixin, ContactsMixin +from netbox.models.features import ContactsMixin, CustomFieldsMixin, CustomLinksMixin, TagsMixin from vpn.choices import * __all__ = ( diff --git a/netbox/vpn/views.py b/netbox/vpn/views.py index 1bcb99716..3253558a9 100644 --- a/netbox/vpn/views.py +++ b/netbox/vpn/views.py @@ -72,11 +72,11 @@ class TunnelGroupBulkDeleteView(generic.BulkDeleteView): class TunnelGroupContactsView(ObjectContactsView): queryset = TunnelGroup.objects.all() + # # Tunnels # - @register_model_view(Tunnel, 'list', path='', detail=False) class TunnelListView(generic.ObjectListView): queryset = Tunnel.objects.annotate( @@ -141,11 +141,11 @@ class TunnelBulkDeleteView(generic.BulkDeleteView): class TunnelContactsView(ObjectContactsView): queryset = Tunnel.objects.all() + # # Tunnel terminations # - @register_model_view(TunnelTermination, 'list', path='', detail=False) class TunnelTerminationListView(generic.ObjectListView): queryset = TunnelTermination.objects.all() From a6c07e6a35537da04e6eb9368d94d1901916afcf Mon Sep 17 00:00:00 2001 From: Antoine Keranflec'h Date: Tue, 25 Feb 2025 13:53:50 +0100 Subject: [PATCH 4/4] fix contact wrong model assignment --- netbox/vpn/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netbox/vpn/views.py b/netbox/vpn/views.py index 3253558a9..bbed677c2 100644 --- a/netbox/vpn/views.py +++ b/netbox/vpn/views.py @@ -68,7 +68,7 @@ class TunnelGroupBulkDeleteView(generic.BulkDeleteView): table = tables.TunnelGroupTable -@register_model_view(Tunnel, 'contacts') +@register_model_view(TunnelGroup, 'contacts') class TunnelGroupContactsView(ObjectContactsView): queryset = TunnelGroup.objects.all()