Răsfoiți Sursa

Fixes #11903: Fix escaping of return URL values for action buttons in tables

jeremystretch 2 ani în urmă
părinte
comite
d48a8770de
2 a modificat fișierele cu 4 adăugiri și 2 ștergeri
  1. 2 0
      docs/release-notes/version-3.4.md
  2. 2 2
      netbox/netbox/tables/columns.py

+ 2 - 0
docs/release-notes/version-3.4.md

@@ -8,6 +8,7 @@
 * [#11011](https://github.com/netbox-community/netbox/issues/11011) - Add ability to toggle visibility of virtual interfaces under device view
 * [#11807](https://github.com/netbox-community/netbox/issues/11807) - Restore default page size when navigating between views
 * [#11817](https://github.com/netbox-community/netbox/issues/11817) - Add `connected_endpoints` field to GraphQL API for cabled objects
+* [#11862](https://github.com/netbox-community/netbox/issues/11862) - Add Cisco StackWise 1T interface type
 * [#11871](https://github.com/netbox-community/netbox/issues/11871) - Add IEEE 802.3az PoE type for interfaces
 
 ### Bug Fixes
@@ -16,6 +17,7 @@
 * [#11565](https://github.com/netbox-community/netbox/issues/11565) - Apply custom field defaults to IP address created during FHRP group creation
 * [#11758](https://github.com/netbox-community/netbox/issues/11758) - Support non-URL-safe characters in plugin menu titles
 * [#11796](https://github.com/netbox-community/netbox/issues/11796) - When importing devices, restrict rack by location only if the location field is specified
+* [#11903](https://github.com/netbox-community/netbox/issues/11903) - Fix escaping of return URL values for action buttons in tables
 
 ---
 

+ 2 - 2
netbox/netbox/tables/columns.py

@@ -1,5 +1,6 @@
 from dataclasses import dataclass
 from typing import Optional
+from urllib.parse import quote
 
 import django_tables2 as tables
 from django.conf import settings
@@ -8,7 +9,6 @@ from django.db.models import DateField, DateTimeField
 from django.template import Context, Template
 from django.urls import reverse
 from django.utils.dateparse import parse_date
-from django.utils.encoding import escape_uri_path
 from django.utils.html import escape
 from django.utils.formats import date_format
 from django.utils.safestring import mark_safe
@@ -235,7 +235,7 @@ class ActionsColumn(tables.Column):
 
         model = table.Meta.model
         request = getattr(table, 'context', {}).get('request')
-        url_appendix = f'?return_url={escape_uri_path(request.get_full_path())}' if request else ''
+        url_appendix = f'?return_url={quote(request.get_full_path())}' if request else ''
         html = ''
 
         # Compile actions menu