Cleanup + no msg on CAS logout

This commit is contained in:
Ludovic Stephan 2019-11-27 13:14:20 +01:00
parent ac4d5cf7d5
commit 5c581d8984

View file

@ -113,13 +113,13 @@ class CustomCasLogoutView(CasLogoutView):
qd = parse_qs(parse_result.query)
if "url" in qd.keys():
# je ne vois pas bien pourquoi il faut un 2e "pop"...
# Le 2e pop est nécessaire car CAS n'aime pas
# les paramètres sous forme de liste
qd["service"] = qd.pop("url").pop()
# La méthode _replace est documentée !
new_url = parse_result._replace(query=urlencode(qd))
print(qd)
print(urlunparse(new_url))
return redirect(urlunparse(new_url))
@ -131,7 +131,11 @@ def logout(request, next_page=None):
profile = getattr(request.user, "profile", None)
if profile and profile.login_clipper:
msg = _("Déconnexion de GestioCOF et CAS réussie. À bientôt {}.")
if next_page is None:
# On ne voit pas les messages quand on se déconnecte de CAS
msg = None
else:
msg = _("Déconnexion de GestioCOF et CAS réussie. À bientôt {}.")
logout_view = CustomCasLogoutView.as_view()
else:
msg = _("Déconnexion de GestioCOF réussie. À bientôt {}.")
@ -139,7 +143,8 @@ def logout(request, next_page=None):
next_page=next_page, template_name="logout.html"
)
messages.success(request, msg.format(request.user.get_short_name()))
if msg is not None:
messages.success(request, msg.format(request.user.get_short_name()))
return logout_view(request)