diff --git a/netbox/extras/api/mixins.py b/netbox/extras/api/mixins.py index 9080e33b7..7f8c4a865 100644 --- a/netbox/extras/api/mixins.py +++ b/netbox/extras/api/mixins.py @@ -90,8 +90,8 @@ class RenderConfigMixin(ConfigTemplateRenderMixin): # Check for an optional config_template_id override in the request data if config_template_id := request.data.get('config_template_id'): try: - configtemplate = ConfigTemplate.objects.get(pk=config_template_id) - except ConfigTemplate.DoesNotExist: + configtemplate = ConfigTemplate.objects.restrict(request.user, 'view').get(pk=config_template_id) + except (ConfigTemplate.DoesNotExist, ValueError): return Response({ 'error': f'Config template with ID {config_template_id} not found.' }, status=HTTP_400_BAD_REQUEST) diff --git a/netbox/extras/views.py b/netbox/extras/views.py index 8df93e50f..bdce5c5c1 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -1273,7 +1273,7 @@ class ObjectRenderConfigView(generic.ObjectView): error_message = '' if config_template_id := request.GET.get('config_template_id'): try: - config_template = ConfigTemplate.objects.get(pk=config_template_id) + config_template = ConfigTemplate.objects.restrict(request.user, 'view').get(pk=config_template_id) except (ConfigTemplate.DoesNotExist, ValueError): error_message = _("Config template with ID {id} not found.").format(id=config_template_id) else: diff --git a/netbox/templates/extras/object_render_config.html b/netbox/templates/extras/object_render_config.html index e7bd2fd9b..6fa098da1 100644 --- a/netbox/templates/extras/object_render_config.html +++ b/netbox/templates/extras/object_render_config.html @@ -52,7 +52,7 @@ {% if error_message %}