|
@@ -1,4 +1,6 @@
|
|
|
import yaml
|
|
import yaml
|
|
|
|
|
+
|
|
|
|
|
+from django.apps import apps
|
|
|
from django.contrib.contenttypes.fields import GenericRelation
|
|
from django.contrib.contenttypes.fields import GenericRelation
|
|
|
from django.core.exceptions import ValidationError
|
|
from django.core.exceptions import ValidationError
|
|
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
@@ -155,6 +157,10 @@ class DeviceType(NetBoxModel):
|
|
|
self._original_front_image = self.front_image
|
|
self._original_front_image = self.front_image
|
|
|
self._original_rear_image = self.rear_image
|
|
self._original_rear_image = self.rear_image
|
|
|
|
|
|
|
|
|
|
+ @classmethod
|
|
|
|
|
+ def get_prerequisite_models(cls):
|
|
|
|
|
+ return [Manufacturer, ]
|
|
|
|
|
+
|
|
|
def get_absolute_url(self):
|
|
def get_absolute_url(self):
|
|
|
return reverse('dcim:devicetype', args=[self.pk])
|
|
return reverse('dcim:devicetype', args=[self.pk])
|
|
|
|
|
|
|
@@ -328,6 +334,10 @@ class ModuleType(NetBoxModel):
|
|
|
def __str__(self):
|
|
def __str__(self):
|
|
|
return self.model
|
|
return self.model
|
|
|
|
|
|
|
|
|
|
+ @classmethod
|
|
|
|
|
+ def get_prerequisite_models(cls):
|
|
|
|
|
+ return [Manufacturer, ]
|
|
|
|
|
+
|
|
|
def get_absolute_url(self):
|
|
def get_absolute_url(self):
|
|
|
return reverse('dcim:moduletype', args=[self.pk])
|
|
return reverse('dcim:moduletype', args=[self.pk])
|
|
|
|
|
|
|
@@ -645,6 +655,10 @@ class Device(NetBoxModel, ConfigContextModel):
|
|
|
return f'{self.device_type.manufacturer} {self.device_type.model} ({self.pk})'
|
|
return f'{self.device_type.manufacturer} {self.device_type.model} ({self.pk})'
|
|
|
return super().__str__()
|
|
return super().__str__()
|
|
|
|
|
|
|
|
|
|
+ @classmethod
|
|
|
|
|
+ def get_prerequisite_models(cls):
|
|
|
|
|
+ return [apps.get_model('dcim.Site'), DeviceRole, DeviceType, ]
|
|
|
|
|
+
|
|
|
def get_absolute_url(self):
|
|
def get_absolute_url(self):
|
|
|
return reverse('dcim:device', args=[self.pk])
|
|
return reverse('dcim:device', args=[self.pk])
|
|
|
|
|
|