From 83d3de276bf9e90946fe43766ecb25696064356c Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Wed, 22 May 2024 08:28:38 -0400 Subject: [PATCH] Fixes #16232: Fix inclusion of bulk action checkboxes on dynamic tables --- netbox/netbox/tables/tables.py | 6 ++++-- netbox/netbox/views/generic/bulk_views.py | 2 +- netbox/utilities/templates/builtins/htmx_table.html | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/netbox/netbox/tables/tables.py b/netbox/netbox/tables/tables.py index 2697c4bc0..b191896fa 100644 --- a/netbox/netbox/tables/tables.py +++ b/netbox/netbox/tables/tables.py @@ -1,4 +1,5 @@ from copy import deepcopy +from functools import cached_property import django_tables2 as tables from django.contrib.auth.models import AnonymousUser @@ -189,6 +190,7 @@ class NetBoxTable(BaseTable): actions = columns.ActionsColumn() exempt_columns = ('pk', 'actions') + embedded = False class Meta(BaseTable.Meta): pass @@ -218,12 +220,12 @@ class NetBoxTable(BaseTable): super().__init__(*args, extra_columns=extra_columns, **kwargs) - @property + @cached_property def htmx_url(self): """ Return the base HTML request URL for embedded tables. """ - if getattr(self, 'embedded', False): + if self.embedded: viewname = get_viewname(self._meta.model, action='list') try: return reverse(viewname) diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index be574204c..87e352710 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -163,7 +163,7 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin): # If this is an HTMX request, return only the rendered table HTML if htmx_partial(request): - if not request.htmx.target: + if request.GET.get('embedded', False): table.embedded = True # Hide selection checkboxes if 'pk' in table.base_columns: diff --git a/netbox/utilities/templates/builtins/htmx_table.html b/netbox/utilities/templates/builtins/htmx_table.html index b3ceed2c7..8b7e6af16 100644 --- a/netbox/utilities/templates/builtins/htmx_table.html +++ b/netbox/utilities/templates/builtins/htmx_table.html @@ -1,5 +1,5 @@