mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 03:56:53 -06:00
Fixes #10982: Catch NoReverseMatch exception when rendering tabs with no registered URL
This commit is contained in:
parent
9774bb46ce
commit
e494d7bb22
@ -13,6 +13,7 @@
|
|||||||
* [#10957](https://github.com/netbox-community/netbox/issues/10957) - Add missing VDCs column to interface tables
|
* [#10957](https://github.com/netbox-community/netbox/issues/10957) - Add missing VDCs column to interface tables
|
||||||
* [#10973](https://github.com/netbox-community/netbox/issues/10973) - Fix device links in VDC table
|
* [#10973](https://github.com/netbox-community/netbox/issues/10973) - Fix device links in VDC table
|
||||||
* [#10980](https://github.com/netbox-community/netbox/issues/10980) - Fix view tabs for plugin objects
|
* [#10980](https://github.com/netbox-community/netbox/issues/10980) - Fix view tabs for plugin objects
|
||||||
|
* [#10982](https://github.com/netbox-community/netbox/issues/10982) - Catch `NoReverseMatch` exception when rendering tabs with no registered URL
|
||||||
|
|
||||||
## v3.4-beta1 (2022-11-16)
|
## v3.4-beta1 (2022-11-16)
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from django import template
|
from django import template
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
from django.urls.exceptions import NoReverseMatch
|
||||||
from django.utils.module_loading import import_string
|
from django.utils.module_loading import import_string
|
||||||
|
|
||||||
from netbox.registry import registry
|
from netbox.registry import registry
|
||||||
@ -36,9 +37,14 @@ def model_view_tabs(context, instance):
|
|||||||
if attrs := tab.render(instance):
|
if attrs := tab.render(instance):
|
||||||
viewname = get_viewname(instance, action=config['name'])
|
viewname = get_viewname(instance, action=config['name'])
|
||||||
active_tab = context.get('tab')
|
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({
|
tabs.append({
|
||||||
'name': config['name'],
|
'name': config['name'],
|
||||||
'url': reverse(viewname, args=[instance.pk]),
|
'url': url,
|
||||||
'label': attrs['label'],
|
'label': attrs['label'],
|
||||||
'badge': attrs['badge'],
|
'badge': attrs['badge'],
|
||||||
'is_active': active_tab and active_tab == tab,
|
'is_active': active_tab and active_tab == tab,
|
||||||
|
Loading…
Reference in New Issue
Block a user