mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-16 04:02:52 -06:00
Fixes #16232: Fix inclusion of bulk action checkboxes on dynamic tables
This commit is contained in:
parent
97f8f94ebb
commit
83d3de276b
@ -1,4 +1,5 @@
|
|||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
from functools import cached_property
|
||||||
|
|
||||||
import django_tables2 as tables
|
import django_tables2 as tables
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
@ -189,6 +190,7 @@ class NetBoxTable(BaseTable):
|
|||||||
actions = columns.ActionsColumn()
|
actions = columns.ActionsColumn()
|
||||||
|
|
||||||
exempt_columns = ('pk', 'actions')
|
exempt_columns = ('pk', 'actions')
|
||||||
|
embedded = False
|
||||||
|
|
||||||
class Meta(BaseTable.Meta):
|
class Meta(BaseTable.Meta):
|
||||||
pass
|
pass
|
||||||
@ -218,12 +220,12 @@ class NetBoxTable(BaseTable):
|
|||||||
|
|
||||||
super().__init__(*args, extra_columns=extra_columns, **kwargs)
|
super().__init__(*args, extra_columns=extra_columns, **kwargs)
|
||||||
|
|
||||||
@property
|
@cached_property
|
||||||
def htmx_url(self):
|
def htmx_url(self):
|
||||||
"""
|
"""
|
||||||
Return the base HTML request URL for embedded tables.
|
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')
|
viewname = get_viewname(self._meta.model, action='list')
|
||||||
try:
|
try:
|
||||||
return reverse(viewname)
|
return reverse(viewname)
|
||||||
|
@ -163,7 +163,7 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin):
|
|||||||
|
|
||||||
# If this is an HTMX request, return only the rendered table HTML
|
# If this is an HTMX request, return only the rendered table HTML
|
||||||
if htmx_partial(request):
|
if htmx_partial(request):
|
||||||
if not request.htmx.target:
|
if request.GET.get('embedded', False):
|
||||||
table.embedded = True
|
table.embedded = True
|
||||||
# Hide selection checkboxes
|
# Hide selection checkboxes
|
||||||
if 'pk' in table.base_columns:
|
if 'pk' in table.base_columns:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="htmx-container table-responsive"
|
<div class="htmx-container table-responsive"
|
||||||
hx-get="{% url viewname %}{% if url_params %}?{{ url_params.urlencode }}{% endif %}"
|
hx-get="{% url viewname %}?embedded=True{% if url_params %}&{{ url_params.urlencode }}{% endif %}"
|
||||||
hx-target="this"
|
hx-target="this"
|
||||||
hx-trigger="load" hx-select=".htmx-container" hx-swap="outerHTML"
|
hx-trigger="load" hx-select=".htmx-container" hx-swap="outerHTML"
|
||||||
></div>
|
></div>
|
||||||
|
Loading…
Reference in New Issue
Block a user