Skip to content

Commit

Permalink
Merge branch 'fixes_user_creation_issue_377' into 'develop'
Browse files Browse the repository at this point in the history
Creates profile on /rest-auth/registration/

See merge request pencillabs/ej/ej-server!50
  • Loading branch information
davidCarlos committed Jul 30, 2021
2 parents 33903d5 + 1a9bf93 commit 77c1fea
Showing 1 changed file with 22 additions and 8 deletions.
30 changes: 22 additions & 8 deletions src/ej_users/rest_auth_serializer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from rest_framework import serializers
from .models import User, MetaData
from ej_profiles.models import Profile

try:
from allauth.account import app_settings as allauth_settings
Expand All @@ -21,17 +22,30 @@ class RegistrationSerializer(serializers.Serializer):
def save(self, request):
try:
user = User.objects.get(email=request.data.get("email"))
self.check_metadata(user, request)
return user
except Exception as e:
pass
email = request.data.get("email")
name = request.data.get("name")
user = User.objects.create_user(email=email, name=name)
self.save_metadata(user, request)
email = request.data.get("email")
name = request.data.get("name")
password = request.data.get("password")
user = User(email=email, name=name)
user.set_password(password)
user.save()

self.check_user_metadata(user, request)
self.check_profile(user, request)
return user

def check_metadata(self, user, request):
def check_profile(self, user, request):
phone_number = request.data.get("phone_number")
profile = None
try:
profile = Profile.objects.get(user=user)
except Exception as e:
profile = Profile(user=user)
if phone_number:
profile.phone_number = phone_number
profile.save()

def check_user_metadata(self, user, request):
if not user.metadata_set.first():
self.save_metadata(user, request)

Expand Down

0 comments on commit 77c1fea

Please sign in to comment.