From 56db60f8c959dc5529b6c56c264f6802402fb04b Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 18 Sep 2025 15:08:50 -0400 Subject: [PATCH] Fixes #20375: Preserve filter params when performing bulk operations (#20387) --- netbox/netbox/object_actions.py | 9 +++++++++ netbox/templates/core/buttons/bulk_sync.html | 2 +- .../dcim/buttons/bulk_add_components.html | 18 +++++++++--------- .../dcim/buttons/bulk_disconnect.html | 2 +- .../buttons/bulk_add_components.html | 4 ++-- .../templates/buttons/bulk_delete.html | 2 +- .../utilities/templates/buttons/bulk_edit.html | 2 +- .../templates/buttons/bulk_rename.html | 2 +- 8 files changed, 25 insertions(+), 16 deletions(-) diff --git a/netbox/netbox/object_actions.py b/netbox/netbox/object_actions.py index f812c6b40..b922b9273 100644 --- a/netbox/netbox/object_actions.py +++ b/netbox/netbox/object_actions.py @@ -50,6 +50,14 @@ class ObjectAction: except NoReverseMatch: return + @classmethod + def get_url_params(cls, context): + request = context['request'] + params = request.GET.copy() + if 'return_url' in context: + params['return_url'] = context['return_url'] + return params + @classmethod def get_context(cls, context, obj): """ @@ -63,6 +71,7 @@ class ObjectAction: 'perms': context['perms'], 'request': context['request'], 'url': cls.get_url(obj), + 'url_params': cls.get_url_params(context), 'label': cls.label, **cls.get_context(context, obj), **kwargs, diff --git a/netbox/templates/core/buttons/bulk_sync.html b/netbox/templates/core/buttons/bulk_sync.html index e70b3a459..9c5e85c2f 100644 --- a/netbox/templates/core/buttons/bulk_sync.html +++ b/netbox/templates/core/buttons/bulk_sync.html @@ -1,3 +1,3 @@ - diff --git a/netbox/templates/dcim/buttons/bulk_add_components.html b/netbox/templates/dcim/buttons/bulk_add_components.html index b5eadeeac..a852ed582 100644 --- a/netbox/templates/dcim/buttons/bulk_add_components.html +++ b/netbox/templates/dcim/buttons/bulk_add_components.html @@ -6,63 +6,63 @@