Added new setting, widget, form and auth backend to allow login via user email address

To enable:
AUTHENTICATION_BACKENDS = ('common.auth.email_auth_backend.EmailAuthBackend',)
COMMON_LOGIN_METHOD = 'email'
This commit is contained in:
Roberto Rosario
2011-08-05 23:36:00 -04:00
parent acd6348dd7
commit 36c7beca84
7 changed files with 92 additions and 5 deletions

View File

@@ -7,8 +7,11 @@ from django.contrib import messages
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse
from django.utils.http import urlencode
from django.contrib.auth.views import login
from common.forms import ChoiceForm, UserForm, UserForm_view
from common.forms import EmailAuthenticationForm
from common.conf.settings import LOGIN_METHOD
def password_change_done(request):
@@ -167,3 +170,14 @@ def current_user_edit(request):
'title': _(u'edit current user details'),
},
context_instance=RequestContext(request))
def login_view(request):
#url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html'}, name='login_view'),
#url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'login.html', 'authentication_form': EmailAuthenticationForm}, name='login_view'),
kwargs = {'template_name': 'login.html'}
if LOGIN_METHOD == 'email':
kwargs['authentication_form'] = EmailAuthenticationForm
return login(request, **kwargs)