Opened 5 years ago
Last modified 5 years ago
#32345 closed Bug
i18n.set_language unquotes next_url and produces wrong url for url params containing "&" character — at Initial Version
| Reported by: | Sebastian Kapunkt | Owned by: | nobody |
|---|---|---|---|
| Component: | Internationalization | Version: | 3.1 |
| Severity: | Normal | Keywords: | i18n unquote |
| Cc: | Johannes Maron | Triage Stage: | Ready for checkin |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | yes | UI/UX: | no |
Description
When changing the language and the current URL parameter include a parameter value with an encoded "&" like
?paramter=some%20%26%20thing
the redirect response from set_langauge is
?paramter=some%20&%20thing
where I would still expect the same URL from as in the beginning.
I've written a Django test that shows this bug:
def test_set_language_url_params():
from django.test import RequestFactory
from django.views.i18n import set_language
rf = RequestFactory()
request = rf.post("", next="")
request.META['HTTP_REFERER'] = '/someurl/?paramter=some%20%26%20thing'
response = set_language(request)
assert response.url == '/someurl/?paramter=some%20%26%20thing'
Note:
See TracTickets
for help on using tickets.