@@ -74,27 +74,30 @@ def post(self, request, *args, **kwargs):
7474 "city" ,
7575 )
7676 # fixme: should we set verification_date?, if no then we need to ad them to ClickUp list
77- user = User (
77+ user = User . objects . create (
7878 ** {field_name : data [field_name ] for field_name in user_fields },
7979 is_active = True , # bypass email verification
8080 onboarding_stage = None , # bypass onboarding
8181 )
82- user .save ()
8382
8483 user_profile_program_data = {
8584 field_name : data .get (field_name )
8685 for field_name in data
8786 if field_name not in user_fields
8887 }
89- added_user_profile = PartnerProgramUserProfile (
88+ PartnerProgramUserProfile . objects . create (
9089 partner_program_data = user_profile_program_data ,
9190 user = user ,
9291 partner_program = program ,
9392 )
94- added_user_profile .save ()
9593 return Response (status = status .HTTP_201_CREATED )
9694 except PartnerProgram .DoesNotExist :
9795 return Response (status = status .HTTP_404_NOT_FOUND )
96+ except User .IntegrityError :
97+ return Response (
98+ data = {"detail" : "User with this email already exists." },
99+ status = status .HTTP_400_BAD_REQUEST ,
100+ )
98101
99102 def get (self , request , * args , ** kwargs ):
100103 return Response (status = status .HTTP_200_OK )
0 commit comments