diff --git a/scipost/utils.py b/scipost/utils.py index 26be73d5fe138e67993ab031be34f0e4acfcd062..aa384729d8f7faee65f5f2a34d06d64aa64817a1 100644 --- a/scipost/utils.py +++ b/scipost/utils.py @@ -31,6 +31,13 @@ class Utils(object): else: return False + @classmethod + def email_already_taken(cls): + if User.objects.filter(email=cls.form.cleaned_data['email']).exists(): + return True + else: + return False + @classmethod def create_and_save_contributor(cls): user = User.objects.create_user ( diff --git a/scipost/views.py b/scipost/views.py index b690849f6b664ba4f5489b65577028594934064f..fdd75006899d1932714c490968385a914f233e4e 100644 --- a/scipost/views.py +++ b/scipost/views.py @@ -135,6 +135,8 @@ def register(request): return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'Your passwords must match'}) if Utils.username_already_taken(): return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'This username is already in use'}) + if Utils.email_already_taken(): + return render(request, 'scipost/register.html', {'form': form, 'errormessage': 'This email address is already in use'}) Utils.create_and_save_contributor() Utils.send_registration_email() return HttpResponseRedirect('thanks_for_registering')