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'

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top