def reg_view(request): context = {} context['form'] = forms.RegistationForm() form = forms.RegistationForm(request.POST) if form.is_valid(): username = form.data['username'] email = form.data['email'] password = form.data['password'] if not models.Profile.objects.filter(login=username).exists(): if not models.Profile.objects.filter(email=email).exists(): standart_user = models.User.objects.create_user( username=username, password=password, email=email) user = models.Profile() user.login = username user.password = password user.email = email user.standart_user_id = standart_user.id usr = auth.authenticate(username=username, password=password) auth.login(request, usr) user.save() return HttpResponseRedirect('/') else: context['error'] = "Пользователь с таким email уже существует" else: context['error'] = "Пользователь с таким ником уже существует" return render(request, 'reg.html', context)
def create(self, validated_data): request = self.context.get('request', None) validated_data['owner'] = request.user perf = models.Performance() perf.save() validated_data['performance'] = perf user = models.Profile(**validated_data) user.save() return user
def post(self, request, *args, **kwargs): # Login username = request.POST.get('username') password = request.POST.get('password') email = request.POST.get('email') lastname = request.POST.get('lastname') firstname = request.POST.get('firstname') org = request.POST.get('org') college = request.POST.get('college') dept = request.POST.get('dept') other_details = request.POST.get('otherdetails') areas_of_interest = request.POST.get('areasofinterest') areas_of_interest = api.Areaofinterest.objects.get_or_create( name=areas_of_interest) print request.POST.get('username') if User.objects.filter(username=username).exists(): return Response({ 'username': '******', 'status': 'error' }) elif User.objects.filter(email=email).exists(): return Response({'email': 'Email is taken.', 'status': 'error'}) # especially before you pass them in here newuser = User.objects.create_user(email=email, last_name=lastname, first_name=firstname, username=username, password=password) newprofile = api.Profile(user=newuser, org=org, college=college, dept=dept, otherdetails=other_details) # areas_of_interest=areas_of_interest) newprofile.save() # Send email msg send_templated_mail( template_name='welcome', from_email='*****@*****.**', recipient_list=[email], context={ 'username': username, 'email': email, }, # Optional: # cc=['*****@*****.**'], # bcc=['*****@*****.**'], ) return Response({ 'status': 'success', 'userid': newuser.id, 'profile': newprofile.id })
def post(self, request, *args, **kwargs): # Login username = request.POST.get('username') password = request.POST.get('password') email = request.POST.get('email') if username is not None and password is not None and email is not None: # lastname = request.POST.get('lastname') # firstname = request.POST.get('firstname') # org = request.POST.get('org') # college = request.POST.get('college') # dept = request.POST.get('dept') # other_details = request.POST.get('otherdetails') # areas_of_interest = request.POST.get('areasofinterest') # areas_of_interest = api.Areaofinterest.objects.get_or_create(name=areas_of_interest) print request.POST.get('username') if User.objects.filter(username=username).exists(): return Response({ 'username': '******', 'status': 'error' }) elif User.objects.filter(email=email).exists(): return Response({ 'email': 'Email is taken.', 'status': 'error' }) # especially before you pass them in here newuser = User.objects.create_user(email=email, username=username, password=password) newprofile = api.Profile(user=newuser) newprofile.save() # Send email msg # send_templated_mail( # template_name='welcome', # from_email='*****@*****.**', # recipient_list=[email], # context={ # 'username':username, # 'email':email, # }, # # Optional: # # cc=['*****@*****.**'], # # bcc=['*****@*****.**'], # ) return Response({ 'status': 'success', 'userid': newuser.id, 'profile': newprofile.id }) else: return Response({'status': 'error'})
def signup(self, request): """Signs the user up for an account.""" if models.User.objects.filter( username=request.data['username']).exists( ) or models.User.objects.filter( email=request.data['email']).exists(): return Response({}, status.HTTP_409_CONFLICT) # Create and save the user user = models.User.objects.create_user( username=request.data['username'], email=request.data['email'], password=request.data['password'], first_name=request.data['first_name'], last_name=request.data['last_name']) user.is_active = not settings.REQUIRE_USER_ACTIVATION # try: # user.full_clean() # except ValidationError as error: # return Response({'errors': error.messages}, status=status.HTTP_406_NOT_ACCEPTABLE) try: user.save() except IntegrityError: return Response({}, status.HTTP_409_CONFLICT) # Create user profile profile = models.Profile(user=user, eligible=request.data['profile']['eligible']) # Add in optional demographics data if request.data['profile']['gender']: profile.gender = request.data['profile']['gender'] if request.data['profile']['race']: profile.race = request.data['profile']['race'] if request.data['profile']['age']: profile.age = request.data['profile']['age'] if request.data['profile']['country']: profile.country = request.data['profile']['country'] if request.data['profile']['state']: profile.state = request.data['profile']['state'] # TODO: compute eligibility posted data instead # Generate activation keys salt = hashlib.sha1(str( random.random()).encode('utf8')).hexdigest()[:5].encode('utf8') profile.activation_key = hashlib.sha1( salt + request.data['username'].encode('utf8')).hexdigest() profile.key_generated = timezone.now() profile.save() if not settings.REQUIRE_USER_ACTIVATION: # Log the user in user = auth.authenticate(username=request.data['username'], password=request.data['password']) auth.login(request, user) return self.status(request)