From 7bae448eaf4023774af44aa57189fcf803eac950 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Date: Tue, 27 Aug 2024 13:50:05 -0700 Subject: [PATCH] 16733 fix bulk edit/delete buttons with quick search (#17130) * 16733 fix bulk edit/delete buttons with quick search * 16733 fix bulk edit/delete buttons with quick search * 16733 fix bulk edit/delete buttons with quick search * Wrap bulk action buttons with .bulk-action-buttons for replacement via HTMX --------- Co-authored-by: Jeremy Stretch --- netbox/netbox/views/generic/bulk_views.py | 2 ++ netbox/templates/generic/object_list.html | 32 ++++++++++++----------- netbox/templates/htmx/table.html | 19 ++++++++++++-- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/netbox/netbox/views/generic/bulk_views.py b/netbox/netbox/views/generic/bulk_views.py index bdc9a7152..46899e525 100644 --- a/netbox/netbox/views/generic/bulk_views.py +++ b/netbox/netbox/views/generic/bulk_views.py @@ -178,6 +178,8 @@ class ObjectListView(BaseMultiObjectView, ActionsMixin, TableMixin): table.columns.hide('pk') return render(request, 'htmx/table.html', { 'table': table, + 'model': model, + 'actions': actions, }) context = { diff --git a/netbox/templates/generic/object_list.html b/netbox/templates/generic/object_list.html index 74e70f476..a89c5a960 100644 --- a/netbox/templates/generic/object_list.html +++ b/netbox/templates/generic/object_list.html @@ -81,15 +81,7 @@ Context: {% if table.paginator.num_pages > 1 %}
-
-
- {% if 'bulk_edit' in actions %} - {% bulk_edit_button model query_params=request.GET %} - {% endif %} - {% if 'bulk_delete' in actions %} - {% bulk_delete_button model query_params=request.GET %} - {% endif %} -
+
+
+ {% if 'bulk_edit' in actions %} + {% bulk_edit_button model query_params=request.GET %} + {% endif %} + {% if 'bulk_delete' in actions %} + {% bulk_delete_button model query_params=request.GET %} + {% endif %} +
@@ -123,12 +123,14 @@ Context: {# Form buttons #}
{% block bulk_buttons %} - {% if 'bulk_edit' in actions %} - {% bulk_edit_button model query_params=request.GET %} - {% endif %} - {% if 'bulk_delete' in actions %} - {% bulk_delete_button model query_params=request.GET %} - {% endif %} +
+ {% if 'bulk_edit' in actions %} + {% bulk_edit_button model query_params=request.GET %} + {% endif %} + {% if 'bulk_delete' in actions %} + {% bulk_delete_button model query_params=request.GET %} + {% endif %} +
{% endblock %}
{# /Form buttons #} diff --git a/netbox/templates/htmx/table.html b/netbox/templates/htmx/table.html index f93c86a34..5728789fa 100644 --- a/netbox/templates/htmx/table.html +++ b/netbox/templates/htmx/table.html @@ -1,5 +1,6 @@ {# Render an HTMX-enabled table with paginator #} {% load helpers %} +{% load buttons %} {% load render_table from django_tables2 %}
@@ -14,5 +15,19 @@ {% endwith %}
-{# Include the updated object count for display elsewhere on the page #} -
{{ table.rows|length }}
+{% if request.htmx %} + {# Include the updated object count for display elsewhere on the page #} +
{{ table.rows|length }}
+ + {# Update the bulk action buttons with new query parameters #} + {% if actions %} +
+ {% if 'bulk_edit' in actions %} + {% bulk_edit_button model query_params=request.GET %} + {% endif %} + {% if 'bulk_delete' in actions %} + {% bulk_delete_button model query_params=request.GET %} + {% endif %} +
+ {% endif %} +{% endif %}