Beispiel #1
0
def modify(request): #This one surely must login.
	user_qrs = list(User.objects.filter(username=request.user))
	user_qrs = user_qrs[0]
	flag = False

	change_email_form = ChangeEmailForm(request.GET)
	change_user_details_form = ChangeUserDetailsForm(request.GET)

	if (change_email_form.is_valid()):
		new_email = (dict(change_email_form.cleaned_data))['email']
		if (new_email):
			user_qrs.email = new_email
			user_qrs.save()

	if (change_user_details_form.is_valid()):
		contact = (dict(change_user_details_form.cleaned_data))['contact']
		address = (dict(change_user_details_form.cleaned_data))['address']
		if (contact):
			user_qrs.userdetails.contact = contact
			flag = True

		if (address):
			user_qrs.userdetails.address = address
			flag = True

		if (flag):
			user_qrs.userdetails.save()

	return redirect("/accounts/user")
Beispiel #2
0
def change_email(request):
	tokens = EmailChangeToken.objects.filter(user=request.user)
	token = len(tokens) and tokens[0] or None

	if request.method == 'POST':
		form = ChangeEmailForm(request.user, data=request.POST)
		if form.is_valid():
			# If there is an existing token, delete it
			if token:
				token.delete()

			# Create a new token
			token = EmailChangeToken(user=request.user,
									 email=form.cleaned_data['email'],
									 token=generate_random_token())
			token.save()

			send_template_mail(settings.NOTIFICATION_FROM,
							   form.cleaned_data['email'],
							   'Your postgresql.org community account',
							   'account/email_change_email.txt',
							   { 'token': token , 'user': request.user, }
						   )
			return HttpResponseRedirect('done/')
	else:
		form = ChangeEmailForm(request.user)

	return render_to_response('account/emailchangeform.html', {
		'form': form,
		'token': token,
		}, NavContext(request, "account"))
Beispiel #3
0
def modify(request):  #This one surely must login.
    user_qrs = list(User.objects.filter(username=request.user))
    user_qrs = user_qrs[0]
    flag = False

    change_email_form = ChangeEmailForm(request.GET)
    change_user_details_form = ChangeUserDetailsForm(request.GET)

    if (change_email_form.is_valid()):
        new_email = (dict(change_email_form.cleaned_data))['email']
        if (new_email):
            user_qrs.email = new_email
            user_qrs.save()

    if (change_user_details_form.is_valid()):
        contact = (dict(change_user_details_form.cleaned_data))['contact']
        address = (dict(change_user_details_form.cleaned_data))['address']
        if (contact):
            user_qrs.userdetails.contact = contact
            flag = True

        if (address):
            user_qrs.userdetails.address = address
            flag = True

        if (flag):
            user_qrs.userdetails.save()

    return redirect("/accounts/user")
Beispiel #4
0
def change_email(request):
	tokens = EmailChangeToken.objects.filter(user=request.user)
	token = len(tokens) and tokens[0] or None

	if request.method == 'POST':
		form = ChangeEmailForm(request.user, data=request.POST)
		if form.is_valid():
			# If there is an existing token, delete it
			if token:
				token.delete()

			# Create a new token
			token = EmailChangeToken(user=request.user,
									 email=form.cleaned_data['email'],
									 token=generate_random_token())
			token.save()

			send_template_mail(settings.NOTIFICATION_FROM,
							   form.cleaned_data['email'],
							   'Your postgresql.org community account',
							   'account/email_change_email.txt',
							   { 'token': token , 'user': request.user, }
						   )
			return HttpResponseRedirect('done/')
	else:
		form = ChangeEmailForm(request.user)

	return render_to_response('account/emailchangeform.html', {
		'form': form,
		'token': token,
		}, NavContext(request, "account"))
Beispiel #5
0
def edit_account(request, entry=None):
    if entry not in (None, 'email', 'username', 'password'):
        raise Http404
    
    if request.method=='POST' and entry=='email':
        email_form = ChangeEmailForm(request.POST, instance=request.user)
        if email_form.is_valid():
            email_form.save()
            return redirect('accounts:edit_account')
    else:
        email_form = ChangeEmailForm(instance=request.user)
    
    if request.method=='POST' and entry=='username':
        username_form = ChangeUsernameForm(request.POST, instance=request.user)
        if username_form.is_valid():
            username_form.save()
            return redirect('accounts:edit_account')
    else:
        username_form = ChangeUsernameForm(instance=request.user)
    
    if request.method=='POST' and entry=='password':
        password_form = ChangePasswordForm(request.POST, instance=request.user)
        if password_form.is_valid():
            password_form.save()
            return redirect('accounts:edit_account')
    else:
        password_form = ChangePasswordForm(instance=request.user)
    
    return render(request, 'accounts/edit_account.html', {
        'email_form': email_form,
        'username_form': username_form,
        'password_form': password_form,
    })
Beispiel #6
0
def change_email(request):
    tokens = EmailChangeToken.objects.filter(user=request.user)
    token = len(tokens) and tokens[0] or None

    if request.user.password == OAUTH_PASSWORD_STORE:
        # Link shouldn't exist in this case, so just throw an unfriendly
        # error message.
        return HttpServerError(
            request,
            "This account cannot change email address as it's connected to a third party login site."
        )

    if request.method == 'POST':
        form = ChangeEmailForm(request.user, data=request.POST)
        if form.is_valid():
            # If there is an existing token, delete it
            if token:
                token.delete()

            # Create a new token
            token = EmailChangeToken(user=request.user,
                                     email=form.cleaned_data['email'].lower(),
                                     token=generate_random_token())
            token.save()

            send_template_mail(settings.ACCOUNTS_NOREPLY_FROM,
                               form.cleaned_data['email'],
                               'Your postgresql.org community account',
                               'account/email_change_email.txt', {
                                   'token': token,
                                   'user': request.user,
                               })
            return HttpResponseRedirect('done/')
    else:
        form = ChangeEmailForm(request.user)

    return render_pgweb(request, 'account', 'account/emailchangeform.html', {
        'form': form,
        'token': token,
    })