From 9ad3b7dc55dbf112f943c1ecdfacdafdda9cc969 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Sun, 31 Jan 2016 07:01:43 +0100 Subject: [PATCH] Registration: ensure email is unique --- scipost/utils.py | 7 +++++++ scipost/views.py | 2 ++ 2 files changed, 9 insertions(+) diff --git a/scipost/utils.py b/scipost/utils.py index 26be73d5f..aa384729d 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 b690849f6..fdd750068 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') -- GitLab