11from django .conf .urls import patterns , url
22from django .contrib .auth import context_processors
3+ from django .contrib .auth .forms import AuthenticationForm
34from django .contrib .auth .urls import urlpatterns
4- from django .contrib .auth .views import password_reset
5+ from django .contrib .auth .views import password_reset , login
56from django .contrib .auth .decorators import login_required
67from django .contrib .messages .api import info
7- from django .http import HttpResponse
8+ from django .http import HttpResponse , HttpRequest
89from django .shortcuts import render_to_response
910from django .template import Template , RequestContext
1011from django .views .decorators .cache import never_cache
1112
13+ class CustomRequestAuthenticationForm (AuthenticationForm ):
14+ def __init__ (self , request , * args , ** kwargs ):
15+ assert isinstance (request , HttpRequest )
16+ super (CustomRequestAuthenticationForm , self ).__init__ (request , * args , ** kwargs )
17+
1218@never_cache
1319def remote_user_auth_view (request ):
1420 "Dummy view for remote user tests"
@@ -49,6 +55,9 @@ def auth_processor_messages(request):
4955def userpage (request ):
5056 pass
5157
58+ def custom_request_auth_login (request ):
59+ return login (request , authentication_form = CustomRequestAuthenticationForm )
60+
5261# special urls for auth test cases
5362urlpatterns = urlpatterns + patterns ('' ,
5463 (r'^logout/custom_query/$' , 'django.contrib.auth.views.logout' , dict (redirect_field_name = 'follow' )),
@@ -65,6 +74,7 @@ def userpage(request):
6574 (r'^auth_processor_perms/$' , auth_processor_perms ),
6675 (r'^auth_processor_perm_in_perms/$' , auth_processor_perm_in_perms ),
6776 (r'^auth_processor_messages/$' , auth_processor_messages ),
77+ (r'^custom_request_auth_login/$' , custom_request_auth_login ),
6878 url (r'^userpage/(.+)/$' , userpage , name = "userpage" ),
6979)
7080
0 commit comments