diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py index c8474b01dff..5665c41b0f0 100644 --- a/netbox/dcim/views.py +++ b/netbox/dcim/views.py @@ -1971,6 +1971,7 @@ class DeviceInterfacesView(DeviceComponentsView): filterset = filtersets.InterfaceFilterSet filterset_form = forms.InterfaceFilterForm template_name = 'dcim/device/interfaces.html' + disable_htmx = True tab = ViewTab( label=_('Interfaces'), badge=lambda obj: obj.vc_interfaces().count(), diff --git a/netbox/netbox/views/generic/object_views.py b/netbox/netbox/views/generic/object_views.py index 0686e52b7df..48dc6b83a71 100644 --- a/netbox/netbox/views/generic/object_views.py +++ b/netbox/netbox/views/generic/object_views.py @@ -96,6 +96,8 @@ class ObjectChildrenView(ObjectView, ActionsMixin, TableMixin): filterset = None filterset_form = None template_name = 'generic/object_children.html' + # Currently used only to work around the singular behavior of the IP assignment flow in DeviceInterfacesView + disable_htmx = False def get_children(self, request, parent): """ @@ -142,7 +144,7 @@ def get(self, request, *args, **kwargs): table = self.get_table(table_data, request, has_bulk_actions) # If this is an HTMX request, return only the rendered table HTML - if htmx_partial(request): + if htmx_partial(request) and not self.disable_htmx: return render(request, 'htmx/table.html', { 'object': instance, 'table': table,