Projet

Général

Profil

0002-utils-allow-overriding-REDIRECT_FIELD_NAME-in-select.patch

Benjamin Dauvergne, 10 avril 2019 16:49

Télécharger (1,54 ko)

Voir les différences:

Subject: [PATCH 2/5] utils: allow overriding REDIRECT_FIELD_NAME in
 select_next_url() (#32140)

A view can have different next_url depending on its final state
(cancel, ok, etc..)
 src/authentic2/utils.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)
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
-