From 61bb74445d6839385eab1181e42f3390e6a3ec0d Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Fri, 26 Jan 2018 13:42:51 +0300 Subject: [PATCH] =?UTF-8?q?LIL-112.=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8E=20=D0=BF=D0=BE=20=D1=81=D1=83=D1=89?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89=D0=B5=D0=BC=D1=83=20?= =?UTF-8?q?e-mail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/auth/views.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/apps/auth/views.py b/apps/auth/views.py index d1fcc322..7e30114e 100644 --- a/apps/auth/views.py +++ b/apps/auth/views.py @@ -30,7 +30,19 @@ class LearnerRegistrationView(FormView): email = form.cleaned_data['email'] password = form.cleaned_data['password'] - user = User.objects.create_user(username=email, email=email, first_name=first_name, last_name=last_name, password=password) + user, created = User.objects.get_or_create( + username=email, email=email, + first_name=first_name, last_name=last_name + ) + + if not created: + return JsonResponse({ + "success": False, + 'errors': {'__all__': [{'message': 'Возможно вы уже зарегистрированы?'}]} + }, status=400) + + user.set_password(password) + user.save() login(self.request, user) # fixme: change email text @@ -64,7 +76,8 @@ class LoginView(FormView): class VerificationEmailView(View): def get(self, request, *args, **kwargs): - is_valid_token = verification_email_token.check_token(request.user, kwargs.get('token')) + is_valid_token = verification_email_token.check_token( + request.user, kwargs.get('token')) if is_valid_token: lilcity_user_settings = request.user.lilcity_user_settings @@ -122,7 +135,8 @@ class FacebookLoginOrRegistration(View): facebook_id = data.get('id') - lilcity_user_settings = LilcityUserSettings.objects.filter(facebook_id=facebook_id) + lilcity_user_settings = LilcityUserSettings.objects.filter( + facebook_id=facebook_id) if lilcity_user_settings.count(): login(requests, user=lilcity_user_settings[0].user) return JsonResponse({"success": True}) @@ -136,7 +150,8 @@ class FacebookLoginOrRegistration(View): first_name = data.get('first_name', '') last_name = data.get('last_name', '') - user = LilcityUserProxy.objects.create_user(username=email, email=email, first_name=first_name, last_name=last_name, password=uuid4().hex) + user = LilcityUserProxy.objects.create_user( + username=email, email=email, first_name=first_name, last_name=last_name, password=uuid4().hex) user.lilcity_user_settings.is_verification_email = True user.lilcity_user_settings.facebook_id = facebook_id