Просмотр исходного кода

Fixes #8092: Rack elevations should not include device asset tags

jeremystretch 4 лет назад
Родитель
Сommit
4723500c5f
2 измененных файлов с 9 добавлено и 4 удалено
  1. 1 0
      docs/release-notes/version-3.1.md
  2. 8 4
      netbox/dcim/svg.py

+ 1 - 0
docs/release-notes/version-3.1.md

@@ -18,6 +18,7 @@
 * [#8078](https://github.com/netbox-community/netbox/issues/8078) - Add missing wireless models to `lsmodels()` in `nbshell`
 * [#8079](https://github.com/netbox-community/netbox/issues/8079) - Fix validation of LLDP neighbors when connected device has an asset tag
 * [#8088](https://github.com/netbox-community/netbox/issues/8088) - Improve legibility of text in labels with light-colored backgrounds
+* [#8092](https://github.com/netbox-community/netbox/issues/8092) - Rack elevations should not include device asset tags
 * [#8096](https://github.com/netbox-community/netbox/issues/8096) - Fix DataError during change logging of objects with very long string representations
 
 ---

+ 8 - 4
netbox/dcim/svg.py

@@ -18,6 +18,10 @@ __all__ = (
 )
 
 
+def get_device_name(device):
+    return device.name or str(device.device_type)
+
+
 class RackElevationSVG:
     """
     Use this class to render a rack elevation as an SVG image.
@@ -85,7 +89,7 @@ class RackElevationSVG:
         return drawing
 
     def _draw_device_front(self, drawing, device, start, end, text):
-        name = str(device)
+        name = get_device_name(device)
         if device.devicebay_count:
             name += ' ({}/{})'.format(device.get_children().count(), device.devicebay_count)
 
@@ -120,7 +124,7 @@ class RackElevationSVG:
         rect = drawing.rect(start, end, class_="slot blocked")
         rect.set_desc(self._get_device_description(device))
         drawing.add(rect)
-        drawing.add(drawing.text(str(device), insert=text))
+        drawing.add(drawing.text(get_device_name(device), insert=text))
 
         # Embed rear device type image if one exists
         if self.include_images and device.device_type.rear_image:
@@ -132,9 +136,9 @@ class RackElevationSVG:
             )
             image.fit(scale='slice')
             drawing.add(image)
-            drawing.add(drawing.text(str(device), insert=text, stroke='black',
+            drawing.add(drawing.text(get_device_name(device), insert=text, stroke='black',
                         stroke_width='0.2em', stroke_linejoin='round', class_='device-image-label'))
-            drawing.add(drawing.text(str(device), insert=text, fill='white', class_='device-image-label'))
+            drawing.add(drawing.text(get_device_name(device), insert=text, fill='white', class_='device-image-label'))
 
     @staticmethod
     def _draw_empty(drawing, rack, start, end, text, id_, face_id, class_, reservation):