From 3c05e2d610e734ad7c6a74f20b43d7e6ea363fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Tue, 29 Oct 2019 15:36:31 +0100 Subject: [PATCH] dj2: use django's LoginView (#37317) RemovedInDjango21Warning: The login() view is superseded by the class-based LoginView(). --- chrono/views.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/chrono/views.py b/chrono/views.py index 0982e51c..eeb76736 100644 --- a/chrono/views.py +++ b/chrono/views.py @@ -27,13 +27,19 @@ else: get_idps = lambda: [] -def login(request, *args, **kwargs): - if any(get_idps()): - if not 'next' in request.GET: - return HttpResponseRedirect(resolve_url('mellon_login')) - return HttpResponseRedirect(resolve_url('mellon_login') + '?next=' - + quote(request.GET.get('next'))) - return auth_views.login(request, *args, **kwargs) +class LoginView(auth_views.LoginView): + def dispatch(self, request, *args, **kwargs): + if any(get_idps()): + if 'next' not in request.GET: + return HttpResponseRedirect(resolve_url('mellon_login')) + return HttpResponseRedirect(resolve_url('mellon_login') + '?next=' + + quote(request.GET.get('next'))) + return super(LoginView, self).dispatch(request, *args, **kwargs) + pass + + +login = LoginView.as_view() + def logout(request, next_page=None): if any(get_idps()):