From b73db750e540474937be01928899dbdce7bc3b5b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Thu, 7 Oct 2021 09:58:42 -0400 Subject: [PATCH] Fixes #7471: Correct redirect URL when attaching images via "add another" button --- docs/release-notes/version-3.0.md | 1 + netbox/netbox/views/generic.py | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/release-notes/version-3.0.md b/docs/release-notes/version-3.0.md index 6f647d472..d7afbfa8e 100644 --- a/docs/release-notes/version-3.0.md +++ b/docs/release-notes/version-3.0.md @@ -4,6 +4,7 @@ ### Bug Fixes +* [#7471](https://github.com/netbox-community/netbox/issues/7471) - Correct redirect URL when attaching images via "add another" button * [#7474](https://github.com/netbox-community/netbox/issues/7474) - Fix AttributeError exception when rendering a report or custom script --- diff --git a/netbox/netbox/views/generic.py b/netbox/netbox/views/generic.py index 41a8cee25..f9c121cc0 100644 --- a/netbox/netbox/views/generic.py +++ b/netbox/netbox/views/generic.py @@ -282,14 +282,11 @@ class ObjectEditView(GetReturnURLMixin, ObjectPermissionRequiredMixin, View): messages.success(request, mark_safe(msg)) if '_addanother' in request.POST: - redirect_url = request.path - return_url = request.GET.get('return_url') - if return_url is not None and is_safe_url(url=return_url, allowed_hosts=request.get_host()): - redirect_url = f'{redirect_url}?return_url={return_url}' + redirect_url = request.get_full_path() # If the object has clone_fields, pre-populate a new instance of the form if hasattr(obj, 'clone_fields'): - redirect_url += f"{'&' if return_url else '?'}{prepare_cloned_fields(obj)}" + redirect_url += f"{'&' if '?' in redirect_url else '?'}{prepare_cloned_fields(obj)}" return redirect(redirect_url)