0007-views-use-CBV-for-the-login-view-37760.patch
passerelle/views.py | ||
---|---|---|
40 | 40 |
from django.utils.encoding import force_text |
41 | 41 |
from django.forms.models import modelform_factory |
42 | 42 |
from django.forms.widgets import ClearableFileInput |
43 |
from django.utils.six.moves.urllib.parse import quote |
|
43 | 44 | |
44 | 45 |
from dateutil import parser as date_parser |
45 | 46 |
from jsonschema import validate, ValidationError |
... | ... | |
61 | 62 |
return [x for x in apps.get_models() if issubclass(x, BaseResource) and x.is_enabled()] |
62 | 63 | |
63 | 64 | |
64 |
def login(request, *args, **kwargs): |
|
65 |
if any(get_idps()): |
|
66 |
if 'next' not in request.GET: |
|
67 |
return HttpResponseRedirect(resolve_url('mellon_login')) |
|
68 |
return HttpResponseRedirect(resolve_url('mellon_login') + '?next=' + request.GET.get('next')) |
|
69 |
return auth_views.login(request, *args, **kwargs) |
|
65 |
class LoginView(auth_views.LoginView): |
|
66 |
def dispatch(self, request, *args, **kwargs): |
|
67 |
if any(get_idps()): |
|
68 |
if 'next' not in request.GET: |
|
69 |
return HttpResponseRedirect(resolve_url('mellon_login')) |
|
70 |
return HttpResponseRedirect(resolve_url('mellon_login') + '?next=' |
|
71 |
+ quote(request.GET.get('next'))) |
|
72 |
return super(LoginView, self).dispatch(request, *args, **kwargs) |
|
73 | ||
74 |
login = LoginView.as_view() |
|
70 | 75 | |
71 | 76 | |
72 | 77 |
def logout(request, next_page=None): |
73 |
- |