From 00714b23a2ec86cdd421b4bc9661a536a16aacef Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Mon, 10 Apr 2023 07:11:58 -0700 Subject: [PATCH] 11029 add changelog on CableTermination (#11407) * 11209 add changelog on CableTermination * Rename migration --------- Co-authored-by: jeremystretch --- .../0168_cabletermination_change_logging.py | 21 +++++++++++++++++++ netbox/dcim/models/cables.py | 10 +++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 netbox/dcim/migrations/0168_cabletermination_change_logging.py diff --git a/netbox/dcim/migrations/0168_cabletermination_change_logging.py b/netbox/dcim/migrations/0168_cabletermination_change_logging.py new file mode 100644 index 000000000..4405a0a8e --- /dev/null +++ b/netbox/dcim/migrations/0168_cabletermination_change_logging.py @@ -0,0 +1,21 @@ +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('dcim', '0167_module_status'), + ] + + operations = [ + migrations.AddField( + model_name='cabletermination', + name='created', + field=models.DateTimeField(auto_now_add=True, null=True), + ), + migrations.AddField( + model_name='cabletermination', + name='last_updated', + field=models.DateTimeField(auto_now=True, null=True), + ), + ] diff --git a/netbox/dcim/models/cables.py b/netbox/dcim/models/cables.py index cf5f30ee4..af69c440e 100644 --- a/netbox/dcim/models/cables.py +++ b/netbox/dcim/models/cables.py @@ -13,7 +13,8 @@ from dcim.choices import * from dcim.constants import * from dcim.fields import PathField from dcim.utils import decompile_path_node, object_to_path_node -from netbox.models import PrimaryModel +from netbox.models import ChangeLoggedModel, PrimaryModel + from utilities.fields import ColorField from utilities.querysets import RestrictedQuerySet from utilities.utils import to_meters @@ -222,7 +223,7 @@ class Cable(PrimaryModel): return LinkStatusChoices.colors.get(self.status) -class CableTermination(models.Model): +class CableTermination(ChangeLoggedModel): """ A mapping between side A or B of a Cable and a terminating object (e.g. an Interface or CircuitTermination). """ @@ -359,6 +360,11 @@ class CableTermination(models.Model): elif getattr(self.termination, 'site', None): self._site = self.termination.site + def to_objectchange(self, action): + objectchange = super().to_objectchange(action) + objectchange.related_object = self.termination + return objectchange + class CablePath(models.Model): """