Esempio n. 1
0
def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if not form.is_valid():
            messages.add_message(
                request, messages.ERROR,
                'There was some problems while creating your account. Please review some fields before submiting again.'
            )
            context = RequestContext(request, {'form': form})
            return render_to_response('auth/signup.html', context)
        else:
            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            password = form.cleaned_data.get('password')
            User.objects.create_user(username=username,
                                     password=password,
                                     email=email)
            user = authenticate(username=username, password=password)
            login(request, user)
            messages.add_message(request, messages.SUCCESS,
                                 'Your account were successfully created.')
            return HttpResponseRedirect('/' + username + '/')
    else:
        context = RequestContext(request, {'form': SignUpForm()})
        return render_to_response('auth/signup.html', context)
Esempio n. 2
0
def signup():
	forms = SignUpForm()
	if request.method=='POST' and forms.validate_on_submit():
		if forms.check_user_exists() == False:
			user = User(username = forms.username.data, name = forms.name.data)
			user.set_password(forms.password.data)
			db.session.add(user)
			db.session.commit()
			return redirect(url_for('login'))	
	else:		
		print(forms.errors)

	return render_template('signup.html', title = 'SignUp', form = forms)
Esempio n. 3
0
def sign_up(request):
    """
        Create a new user including profile and send email with activation link.
    """
    form = SignUpForm(request.POST)
    serializer = Serializer()
    format = determine_format(request, serializer,
        default_format='application/json')

    if form.is_valid():
        username = form.cleaned_data['username']
        password = form.cleaned_data['password']
        email = form.cleaned_data['email']
        first_name = form.cleaned_data['first_name']
        last_name = form.cleaned_data['last_name']

        # Create new user (profile is automatically created)
        user = User.objects.create(username=username, first_name=first_name,
            last_name=last_name, email=email, is_active=False)
        user.set_password(password)
        user.save()

        auth_profile = user.get_profile()

        # Build the activation key
        salt = sha.new(str(random())).hexdigest()[:5]
        activation_key = sha.new(salt + user.username).hexdigest()
        key_expires = datetime.datetime.now(pytz.utc) + datetime.timedelta(2)

        # User is unactive until visiting activation link
        auth_profile.activation_key = activation_key
        auth_profile.key_expires = key_expires
        activation_link = 'http://127.0.0.1:8000/auth/v1/activate/' + activation_key  # TODO: replace with actual actication link (http://api.score-it.de/auth/v1/activate/)

        auth_profile.save()

        # TODO: Design better email
        subject = _('Welcome to ScoreIt!')
        message = _('To activate, please click the following link:\n' + activation_link)
        sender = _('*****@*****.**')
        recipients = [email]
        send_mail(subject, message, sender, recipients)

        user_resource = UserResource()
        bundle = user_resource.build_bundle(obj=user, request=request)
        user_resource.full_dehydrate(bundle)

        return HttpResponse(user_resource.serialize(None, bundle, 'application/json'))
    else:
        return HttpResponseBadRequest(serializer.serialize(form.errors, format, {}))
Esempio n. 4
0
def signup(request):
    if request.method == "POST":
        form = SignUpForm(request.POST)
        if form.is_valid():
            user = User.objects.create_user(
                form.cleaned_data["username"],
                form.cleaned_data["email"],
                form.cleaned_data["password"],
            )
            return redirect("/special")

    else:
        form = SignUpForm()
    data = {'form': form}
    return render(request, "signup.html", data)
Esempio n. 5
0
def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if not form.is_valid():
            context = RequestContext(request, {'form': form})
            return render_to_response('auth/signup.html', context)
        else:
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            User.objects.create_user(username=username, password=password)
            user = authenticate(username=username, password=password)
            login(request, user)
            return HttpResponseRedirect('/')
    else:
        context = RequestContext(request,  {'form': SignUpForm() })
        return render_to_response('auth/signup.html', context)
Esempio n. 6
0
def signup(request):
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if not form.is_valid():
            messages.add_message(request, messages.ERROR, 'There was some problems while creating your account. Please review some fields before submiting again.')
            context = RequestContext(request, {'form': form})
            return render_to_response('auth/signup.html', context)
        else:
            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            password = form.cleaned_data.get('password')
            User.objects.create_user(username=username, password=password, email=email)
            user = authenticate(username=username, password=password)
            login(request, user)
            messages.add_message(request, messages.SUCCESS, 'Your account were successfully created.')
            return HttpResponseRedirect('/' + username + '/')
    else:
        context = RequestContext(request,  {'form': SignUpForm() })
        return render_to_response('auth/signup.html', context)
Esempio n. 7
0
def signup(request):
    form = SignUpForm()
    if request.method == 'POST':
        form = SignUpForm(request.POST)
        if form.is_valid():
            print(form.cleaned_data.get('username'))
            print(form.cleaned_data.get('password1'))
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('home')
    else:
        form = SignUpForm()
    return render(
        request,
        'signup.html',
        {'form': form},
    )
Esempio n. 8
0
def signupview(request):
    html = "signup.html"
    if request.method == "POST":
        form = SignUpForm(request.POST)
        if form.is_valid:
            form.save()
            return HttpResponseRedirect(reverse('login'))
    else:
        form = SignUpForm()
    context = {'form': form}
    return render(request, html, context)
Esempio n. 9
0
def register(request):
	''' signup functionality which returns a empty form when given a GET request or
	validates n creates an entry in db with POST request '''

	if request.method == "POST":
		
		signup_form = SignUpForm(data=request.POST)
		if signup_form.is_valid():
			
			signup_form_cleaned = signup_form.cleaned_data

			login_form = LoginForm()
			if  signup_form_cleaned['password'] != signup_form_cleaned['password_confirmation']:
				return render_to_response(HOME_PAGE_TEMPLATE_PATH,
					{
						'login_form':login_form,
						'signup_form':signup_form,
						'signup_error':'Passwords doesnt match'
					},
					context_instance=RequestContext(request))
			
			if username_exists(signup_form_cleaned['username']) == 1:
				return render_to_response(HOME_PAGE_TEMPLATE_PATH,
					{
						'login_form':login_form,
						'signup_form':signup_form,
						'signup_error':'Username already exists'
					},
					context_instance=RequestContext(request))
			
			if email_exists(signup_form_cleaned['email']) == 1:
				return render_to_response(HOME_PAGE_TEMPLATE_PATH,
					{
						'login_form':login_form,
						'signup_form':signup_form,
						'signup_error':'Email id has already taken'
					},
					context_instance=RequestContext(request))

			password = encrypt_password(signup_form_cleaned['password'])
			password_confirmation = encrypt_password(signup_form_cleaned['password_confirmation'])
			signup_form_cleaned['auth_token'] = get_auth_token()

			store_user_info(signup_form_cleaned)
			response = HttpResponseRedirect('/home')

			max_age = 7 * 24 * 60 * 60
			expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT")
			response.set_cookie('auth', signup_form_cleaned['auth_token'], max_age=max_age, expires=expires)
			response.set_cookie('email', signup_form_cleaned['email'], max_age=max_age, expires=expires)
			return response
		
		login_form = LoginForm()
		return render_to_response(HOME_PAGE_TEMPLATE_PATH,
			{
				'login_form':login_form,
				'signup_form':signup_form
			},
			context_instance=RequestContext(request))

	login_form = LoginForm()
	signup_form = SignUpForm()
	return render_to_response(HOME_PAGE_TEMPLATE_PATH,
		{
			'login_form':login_form,
			'signup_form':signup_form
		},
		context_instance=RequestContext(request))