mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Refactor to_objectchange()
This commit is contained in:
@@ -70,14 +70,10 @@ class ComponentTemplateModel(WebhooksMixin, ChangeLoggedModel):
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
def to_objectchange(self, action, related_object=None):
|
||||
# Annotate the parent DeviceType
|
||||
try:
|
||||
device_type = self.device_type
|
||||
except ObjectDoesNotExist:
|
||||
# The parent DeviceType has already been deleted
|
||||
device_type = None
|
||||
return super().to_objectchange(action, related_object=device_type)
|
||||
def to_objectchange(self, action):
|
||||
objectchange = super().to_objectchange(action)
|
||||
objectchange.related_object = self.device_type
|
||||
return objectchange
|
||||
|
||||
|
||||
class ModularComponentTemplateModel(ComponentTemplateModel):
|
||||
@@ -102,19 +98,13 @@ class ModularComponentTemplateModel(ComponentTemplateModel):
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
def to_objectchange(self, action, related_object=None):
|
||||
# Annotate the parent DeviceType or ModuleType
|
||||
try:
|
||||
if getattr(self, 'device_type'):
|
||||
return super().to_objectchange(action, related_object=self.device_type)
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
try:
|
||||
if getattr(self, 'module_type'):
|
||||
return super().to_objectchange(action, related_object=self.module_type)
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
return super().to_objectchange(action)
|
||||
def to_objectchange(self, action):
|
||||
objectchange = super().to_objectchange(action)
|
||||
if self.device_type is not None:
|
||||
objectchange.related_object = self.device_type
|
||||
elif self.module_type is not None:
|
||||
objectchange.related_object = self.module_type
|
||||
return objectchange
|
||||
|
||||
def clean(self):
|
||||
super().clean()
|
||||
|
@@ -75,13 +75,9 @@ class ComponentModel(PrimaryModel):
|
||||
return self.name
|
||||
|
||||
def to_objectchange(self, action):
|
||||
# Annotate the parent Device
|
||||
try:
|
||||
device = self.device
|
||||
except ObjectDoesNotExist:
|
||||
# The parent Device has already been deleted
|
||||
device = None
|
||||
return super().to_objectchange(action, related_object=device)
|
||||
objectchange = super().to_objectchange(action)
|
||||
objectchange.related_object = self.device
|
||||
return super().to_objectchange(action)
|
||||
|
||||
@property
|
||||
def parent_object(self):
|
||||
|
Reference in New Issue
Block a user