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

Fixes #10982: Catch NoReverseMatch exception when rendering tabs with no registered URL

This commit is contained in:
jeremystretch
2022-11-21 08:06:12 -05:00
parent 9774bb46ce
commit e494d7bb22
2 changed files with 8 additions and 1 deletions

View File

@@ -1,5 +1,6 @@
from django import template
from django.urls import reverse
from django.urls.exceptions import NoReverseMatch
from django.utils.module_loading import import_string
from netbox.registry import registry
@@ -36,9 +37,14 @@ def model_view_tabs(context, instance):
if attrs := tab.render(instance):
viewname = get_viewname(instance, action=config['name'])
active_tab = context.get('tab')
try:
url = reverse(viewname, args=[instance.pk])
except NoReverseMatch:
# No URL has been registered for this view; skip
continue
tabs.append({
'name': config['name'],
'url': reverse(viewname, args=[instance.pk]),
'url': url,
'label': attrs['label'],
'badge': attrs['badge'],
'is_active': active_tab and active_tab == tab,