From a0259ded995e049c6595e18e946f7cfbb1fc09f6 Mon Sep 17 00:00:00 2001 From: Ivlev Denis Date: Fri, 2 Feb 2018 20:22:28 +0300 Subject: [PATCH] Fix FB auth with present in db email --- apps/auth/views.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/apps/auth/views.py b/apps/auth/views.py index d1165172..85aabd8a 100644 --- a/apps/auth/views.py +++ b/apps/auth/views.py @@ -151,17 +151,21 @@ class FacebookLoginOrRegistration(View): "errors": {"email": 'is field required'} }) else: - first_name = data.get('first_name', '') - last_name = data.get('last_name', '') - - user = User.objects.create_user(username=email, email=email, first_name=first_name, last_name=last_name, password=uuid4().hex) - user.is_email_proved = True - user.fb_id = fb_id - if photo_data: - photo = ContentFile(photo_data) - fname = str(fb_id) + '.jpg' - user.photo.save(fname, photo, save=True) - user.save() + try: + user = User.objects.get(email=email) + except User.DoesNotExist: + first_name = data.get('first_name', '') + last_name = data.get('last_name', '') + + user = User.objects.create_user(username=email, email=email, first_name=first_name, last_name=last_name, password=uuid4().hex) + user.is_email_proved = True + user.fb_id = fb_id + if photo_data: + photo = ContentFile(photo_data) + fname = str(fb_id) + '.jpg' + user.photo.save(fname, photo, save=True) + user.save() + login(requests, user=user) return JsonResponse({"success": True}) else: