Opened 4 years ago
Last modified 4 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.