Quellcode durchsuchen

Fixes #9634: Respect image URLs which are already fully formed

For local storage, URLs will always be relative, but some custom storage backends
such as S3 may return absolute ones.
Stephen Muth vor 3 Jahren
Ursprung
Commit
3d475e5afa
1 geänderte Dateien mit 10 neuen und 2 gelöschten Zeilen
  1. 10 2
      netbox/dcim/svg.py

+ 10 - 2
netbox/dcim/svg.py

@@ -113,8 +113,12 @@ class RackElevationSVG:
 
         # Embed front device type image if one exists
         if self.include_images and device.device_type.front_image:
+            url = device.device_type.front_image.url
+            # Convert any relative URLs to absolute
+            if url.startswith('/'):
+                url = '{}{}'.format(self.base_url, url)
             image = drawing.image(
-                href='{}{}'.format(self.base_url, device.device_type.front_image.url),
+                href=url,
                 insert=start,
                 size=end,
                 class_='device-image'
@@ -139,8 +143,12 @@ class RackElevationSVG:
 
         # Embed rear device type image if one exists
         if self.include_images and device.device_type.rear_image:
+            url = device.device_type.rear_image.url
+            # Convert any relative URLs to absolute
+            if url.startswith('/'):
+                url = '{}{}'.format(self.base_url, url)
             image = drawing.image(
-                href='{}{}'.format(self.base_url, device.device_type.rear_image.url),
+                href=url,
                 insert=start,
                 size=end,
                 class_='device-image'