1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Adapted model get_display_name() to better handle unsaved instances

This commit is contained in:
Jeremy Stretch
2017-05-12 15:31:34 -04:00
parent 66ae62fb91
commit 73bf4f45c3
2 changed files with 12 additions and 11 deletions

View File

@ -410,7 +410,7 @@ class Rack(CreatedUpdatedModel, CustomFieldModel):
]
def __str__(self):
return self.display_name
return self.display_name or super(Rack, self).__str__()
def get_absolute_url(self):
return reverse('dcim:rack', args=[self.pk])
@ -467,7 +467,9 @@ class Rack(CreatedUpdatedModel, CustomFieldModel):
def display_name(self):
if self.facility_id:
return u"{} ({})".format(self.name, self.facility_id)
return self.name
elif self.name:
return self.name
return u""
def get_rack_units(self, face=RACK_FACE_FRONT, exclude=None, remove_redundant=False):
"""
@ -983,7 +985,7 @@ class Device(CreatedUpdatedModel, CustomFieldModel):
unique_together = ['rack', 'position', 'face']
def __str__(self):
return self.display_name
return self.display_name or super(Device, self).__str__()
def get_absolute_url(self):
return reverse('dcim:device', args=[self.pk])
@ -1102,12 +1104,9 @@ class Device(CreatedUpdatedModel, CustomFieldModel):
def display_name(self):
if self.name:
return self.name
elif self.position:
return u"{} ({} U{})".format(self.device_type, self.rack.name, self.position)
elif self.rack:
return u"{} ({})".format(self.device_type, self.rack.name)
else:
return u"{} ({})".format(self.device_type, self.site.name)
elif hasattr(self, 'device_type'):
return u"{}".format(self.device_type)
return u""
@property
def identifier(self):

View File

@ -538,7 +538,7 @@ class VLAN(CreatedUpdatedModel, CustomFieldModel):
verbose_name_plural = 'VLANs'
def __str__(self):
return self.display_name
return self.display_name or super(VLAN, self).__str__()
def get_absolute_url(self):
return reverse('ipam:vlan', args=[self.pk])
@ -565,7 +565,9 @@ class VLAN(CreatedUpdatedModel, CustomFieldModel):
@property
def display_name(self):
return u'{} ({})'.format(self.vid, self.name)
if self.vid and self.name:
return u"{} ({})".format(self.vid, self.name)
return None
def get_status_class(self):
return STATUS_CHOICE_CLASSES[self.status]