diff --git a/accounts/models.py b/accounts/models.py index 136db8f..41c3156 100644 --- a/accounts/models.py +++ b/accounts/models.py @@ -3,9 +3,15 @@ # -*- coding: utf-8 -*- # vim: set ts=4 sw=4 et sts=4 ai: -from django.contrib import admin -from django.db import models +from django.conf import settings from django.contrib.auth.models import User +from django.db import models +from django.db.models.signals import post_save + +from registration import signals +from registration.models import RegistrationManager + +from accounts import merge ## Registration @@ -76,24 +82,21 @@ class UserEmail(models.Model): ) verified_on = models.DateTimeField(null=True, blank=True) - verified_by = models.CharField(max_length=1 choices=VERIFIED_BY_CHOICES) + verified_by = models.CharField(max_length=1, choices=VERIFIED_BY_CHOICES) verification_key = models.CharField(max_length=40) -from django.contrib.auth.models import User -from django.db.models.signals import post_save - def create_user_profile(sender, instance, created, **kwargs): if created: - UserProfile.objects.create(user=instance) - UserEmail.objects.create(user=instance) + primary_email = UserEmail.objects.create(user=instance) + UserProfile.objects.create(user=instance, primary=primary_email) post_save.connect(create_user_profile, sender=User) def mark_email_as_verified_on_activation(sender, user, request, **kwargs): pass -signals.user_activated.connect(verify_email_on_activation) +signals.user_activated.connect(mark_email_as_verified_on_activation) def merge_on_activation(sender, user, request, **kwargs): pass @@ -113,7 +116,7 @@ def verify_user(backend, user, details, **kw): user.is_active = True user.save() else: - rego = registration.models.RegistrationManager.create_profile(user) + rego = RegistrationManager.create_profile(user) rego.send_verify_email() diff --git a/accounts/urls.py b/accounts/urls.py index 02a89c4..e453c38 100755 --- a/accounts/urls.py +++ b/accounts/urls.py @@ -18,12 +18,12 @@ 'accounts', url(r'login/*$', auth_views.login, - {'template_name': 'login.html', + {'template_name': 'login.html', 'authentication_form': login_forms.AuthenticationWithInActiveForm, 'extra_context': { 'register_form': register_forms.RegistrationFormUniqueEmail(), - 'providers': PROVIDERS, - 'openid_providers': OPENID_PROVIDERS, + 'providers': PROVIDERS, + 'openid_providers': OPENID_PROVIDERS, }, }), diff --git a/usergroup/django_tests/login_test.py b/usergroup/django_tests/login_test.py index 26abdd3..b256d9e 100644 --- a/usergroup/django_tests/login_test.py +++ b/usergroup/django_tests/login_test.py @@ -28,3 +28,8 @@ def test_nonadmin_login(self): password='password') self.assertTrue(login_status) + def test_nonadmin_invalid_login(self): + """Verify that a user with invalid credentials cannot log in.""" + login_status = self.client.login(username='existing', + password='invalid_password') + self.assertFalse(login_status)