From 0bfb9777bed4fcf22f5b684504b1e62d03cdfb9b Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 21 May 2024 14:05:56 -0700 Subject: [PATCH] 14810 add contacts to service --- netbox/ipam/models/services.py | 3 ++- netbox/ipam/views.py | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/netbox/ipam/models/services.py b/netbox/ipam/models/services.py index 37b559801..71f34c66c 100644 --- a/netbox/ipam/models/services.py +++ b/netbox/ipam/models/services.py @@ -8,6 +8,7 @@ from django.utils.translation import gettext_lazy as _ from ipam.choices import * from ipam.constants import * from netbox.models import PrimaryModel +from netbox.models.features import ContactsMixin from utilities.data import array_to_string __all__ = ( @@ -62,7 +63,7 @@ class ServiceTemplate(ServiceBase, PrimaryModel): return reverse('ipam:servicetemplate', args=[self.pk]) -class Service(ServiceBase, PrimaryModel): +class Service(ContactsMixin, ServiceBase, PrimaryModel): """ A Service represents a layer-four service (e.g. HTTP or SSH) running on a Device or VirtualMachine. A Service may optionally be tied to one or more specific IPAddresses belonging to its parent. diff --git a/netbox/ipam/views.py b/netbox/ipam/views.py index cab9058d8..f94c3c6d7 100644 --- a/netbox/ipam/views.py +++ b/netbox/ipam/views.py @@ -1280,3 +1280,8 @@ class ServiceBulkDeleteView(generic.BulkDeleteView): queryset = Service.objects.prefetch_related('device', 'virtual_machine') filterset = filtersets.ServiceFilterSet table = tables.ServiceTable + + +@register_model_view(Service, 'contacts') +class ServiceContactsView(ObjectContactsView): + queryset = Service.objects.all()