From 3d475e5afa2bbee182d33d6f9e2b08b42e6fa866 Mon Sep 17 00:00:00 2001 From: Stephen Muth Date: Wed, 13 Jul 2022 19:22:47 -0400 Subject: [PATCH] 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. --- netbox/dcim/svg.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/netbox/dcim/svg.py b/netbox/dcim/svg.py index 1de68ec36..4c093a312 100644 --- a/netbox/dcim/svg.py +++ b/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'