0002-utils-allow-overriding-REDIRECT_FIELD_NAME-in-select.patch
src/authentic2/utils.py | ||
---|---|---|
888 | 888 |
return False |
889 | 889 | |
890 | 890 | |
891 |
def get_next_url(params): |
|
891 |
def get_next_url(params, field_name=None): |
|
892 |
field_name = field_name or REDIRECT_FIELD_NAME |
|
892 | 893 |
'''Extract and decode a next_url field''' |
893 |
next_url = params.get(REDIRECT_FIELD_NAME)
|
|
894 |
next_url = params.get(field_name)
|
|
894 | 895 |
if not next_url: |
895 | 896 |
return None |
896 | 897 |
try: |
... | ... | |
902 | 903 |
return next_url |
903 | 904 | |
904 | 905 | |
905 |
def select_next_url(request, default, include_post=False):
|
|
906 |
def select_next_url(request, default, field_name=None, include_post=False, replace=None):
|
|
906 | 907 |
'''Select the first valid next URL''' |
907 |
next_url = (include_post and get_next_url(request.POST)) or get_next_url(request.GET)
|
|
908 |
next_url = (include_post and get_next_url(request.POST, field_name=field_name)) or get_next_url(request.GET, field_name=field_name)
|
|
908 | 909 |
if good_next_url(request, next_url): |
909 | 910 |
return next_url |
910 | 911 |
return default |
911 |
- |