Skip to content

Commit c99ecc2

Browse files
committed
Closes #11737: ChangeLoggedModel should inherit WebhooksMixin
1 parent a9e58bc commit c99ecc2

File tree

9 files changed

+17
-24
lines changed

9 files changed

+17
-24
lines changed

netbox/circuits/models/circuits.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from django.apps import apps
21
from django.contrib.contenttypes.fields import GenericRelation
32
from django.core.exceptions import ValidationError
43
from django.db import models
@@ -10,7 +9,6 @@
109
from netbox.models import (
1110
ChangeLoggedModel, CustomFieldsMixin, CustomLinksMixin, OrganizationalModel, PrimaryModel, TagsMixin,
1211
)
13-
from netbox.models.features import WebhooksMixin
1412

1513
__all__ = (
1614
'Circuit',
@@ -132,7 +130,6 @@ class CircuitTermination(
132130
CustomFieldsMixin,
133131
CustomLinksMixin,
134132
TagsMixin,
135-
WebhooksMixin,
136133
ChangeLoggedModel,
137134
CabledObjectModel
138135
):

netbox/dcim/models/device_component_templates.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from dcim.choices import *
1010
from dcim.constants import *
1111
from netbox.models import ChangeLoggedModel
12-
from netbox.models.features import WebhooksMixin
1312
from utilities.fields import ColorField, NaturalOrderingField
1413
from utilities.mptt import TreeManager
1514
from utilities.ordering import naturalize_interface
@@ -33,7 +32,7 @@
3332
)
3433

3534

36-
class ComponentTemplateModel(WebhooksMixin, ChangeLoggedModel):
35+
class ComponentTemplateModel(ChangeLoggedModel):
3736
device_type = models.ForeignKey(
3837
to='dcim.DeviceType',
3938
on_delete=models.CASCADE,

netbox/extras/models/configcontexts.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66

77
from extras.querysets import ConfigContextQuerySet
88
from netbox.models import ChangeLoggedModel
9-
from netbox.models.features import SyncedDataMixin, WebhooksMixin
9+
from netbox.models.features import SyncedDataMixin
1010
from utilities.utils import deepmerge
1111

12-
1312
__all__ = (
1413
'ConfigContext',
1514
'ConfigContextModel',
@@ -20,7 +19,7 @@
2019
# Config contexts
2120
#
2221

23-
class ConfigContext(SyncedDataMixin, WebhooksMixin, ChangeLoggedModel):
22+
class ConfigContext(SyncedDataMixin, ChangeLoggedModel):
2423
"""
2524
A ConfigContext represents a set of arbitrary data available to any Device or VirtualMachine matching its assigned
2625
qualifiers (region, site, etc.). For example, the data stored in a ConfigContext assigned to site A and tenant B

netbox/extras/models/customfields.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from extras.choices import *
1818
from extras.utils import FeatureQuery
1919
from netbox.models import ChangeLoggedModel
20-
from netbox.models.features import CloningMixin, ExportTemplatesMixin, WebhooksMixin
20+
from netbox.models.features import CloningMixin, ExportTemplatesMixin
2121
from netbox.search import FieldTypes
2222
from utilities import filters
2323
from utilities.forms import (
@@ -54,7 +54,7 @@ def get_for_model(self, model):
5454
return self.get_queryset().filter(content_types=content_type)
5555

5656

57-
class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel):
57+
class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
5858
content_types = models.ManyToManyField(
5959
to=ContentType,
6060
related_name='custom_fields',

netbox/extras/models/models.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
from netbox.models import ChangeLoggedModel
2828
from netbox.models.features import (
2929
CloningMixin, CustomFieldsMixin, CustomLinksMixin, ExportTemplatesMixin, JobResultsMixin, SyncedDataMixin,
30-
TagsMixin, WebhooksMixin,
30+
TagsMixin,
3131
)
3232
from utilities.querysets import RestrictedQuerySet
3333
from utilities.utils import render_jinja2
@@ -46,7 +46,7 @@
4646
)
4747

4848

49-
class Webhook(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel):
49+
class Webhook(ExportTemplatesMixin, ChangeLoggedModel):
5050
"""
5151
A Webhook defines a request that will be sent to a remote application when an object is created, updated, and/or
5252
delete in NetBox. The request will contain a representation of the object, which the remote application can act on.
@@ -203,7 +203,7 @@ def render_payload_url(self, context):
203203
return render_jinja2(self.payload_url, context)
204204

205205

206-
class CustomLink(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel):
206+
class CustomLink(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
207207
"""
208208
A custom link to an external representation of a NetBox object. The link text and URL fields accept Jinja2 template
209209
code to be rendered with an object as context.
@@ -282,7 +282,7 @@ def render(self, context):
282282
}
283283

284284

285-
class ExportTemplate(SyncedDataMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel):
285+
class ExportTemplate(SyncedDataMixin, ExportTemplatesMixin, ChangeLoggedModel):
286286
content_types = models.ManyToManyField(
287287
to=ContentType,
288288
related_name='export_templates',
@@ -376,7 +376,7 @@ def render_to_response(self, queryset):
376376
return response
377377

378378

379-
class SavedFilter(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel):
379+
class SavedFilter(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel):
380380
"""
381381
A set of predefined keyword parameters that can be reused to filter for specific objects.
382382
"""
@@ -447,7 +447,7 @@ def url_params(self):
447447
return qd.urlencode()
448448

449449

450-
class ImageAttachment(WebhooksMixin, ChangeLoggedModel):
450+
class ImageAttachment(ChangeLoggedModel):
451451
"""
452452
An uploaded image which is associated with an object.
453453
"""
@@ -523,7 +523,7 @@ def to_objectchange(self, action):
523523
return objectchange
524524

525525

526-
class JournalEntry(CustomFieldsMixin, CustomLinksMixin, TagsMixin, WebhooksMixin, ExportTemplatesMixin, ChangeLoggedModel):
526+
class JournalEntry(CustomFieldsMixin, CustomLinksMixin, TagsMixin, ExportTemplatesMixin, ChangeLoggedModel):
527527
"""
528528
A historical remark concerning an object; collectively, these form an object's journal. The journal is used to
529529
preserve historical context around an object, and complements NetBox's built-in change logging. For example, you

netbox/extras/models/tags.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from taggit.models import TagBase, GenericTaggedItemBase
66

77
from netbox.models import ChangeLoggedModel
8-
from netbox.models.features import ExportTemplatesMixin, WebhooksMixin
8+
from netbox.models.features import ExportTemplatesMixin
99
from utilities.choices import ColorChoices
1010
from utilities.fields import ColorField
1111

@@ -14,7 +14,7 @@
1414
# Tags
1515
#
1616

17-
class Tag(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel, TagBase):
17+
class Tag(ExportTemplatesMixin, ChangeLoggedModel, TagBase):
1818
id = models.BigAutoField(
1919
primary_key=True
2020
)

netbox/ipam/models/fhrp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from django.urls import reverse
66

77
from netbox.models import ChangeLoggedModel, PrimaryModel
8-
from netbox.models.features import WebhooksMixin
98
from ipam.choices import *
109
from ipam.constants import *
1110

@@ -73,7 +72,7 @@ def get_absolute_url(self):
7372
return reverse('ipam:fhrpgroup', args=[self.pk])
7473

7574

76-
class FHRPGroupAssignment(WebhooksMixin, ChangeLoggedModel):
75+
class FHRPGroupAssignment(ChangeLoggedModel):
7776
interface_type = models.ForeignKey(
7877
to=ContentType,
7978
on_delete=models.CASCADE

netbox/netbox/models/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def docs_url(self):
3838
# Base model classes
3939
#
4040

41-
class ChangeLoggedModel(ChangeLoggingMixin, CustomValidationMixin, models.Model):
41+
class ChangeLoggedModel(ChangeLoggingMixin, CustomValidationMixin, WebhooksMixin, models.Model):
4242
"""
4343
Base model for ancillary models; provides limited functionality for models which don't
4444
support NetBox's full feature set.

netbox/tenancy/models/contacts.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from django.urls import reverse
55

66
from netbox.models import ChangeLoggedModel, NestedGroupModel, OrganizationalModel, PrimaryModel
7-
from netbox.models.features import WebhooksMixin
87
from tenancy.choices import *
98

109
__all__ = (
@@ -93,7 +92,7 @@ def get_absolute_url(self):
9392
return reverse('tenancy:contact', args=[self.pk])
9493

9594

96-
class ContactAssignment(WebhooksMixin, ChangeLoggedModel):
95+
class ContactAssignment(ChangeLoggedModel):
9796
content_type = models.ForeignKey(
9897
to=ContentType,
9998
on_delete=models.CASCADE

0 commit comments

Comments
 (0)