Пример #1
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"))
Пример #2
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")
Пример #3
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"))
Пример #4
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")
Пример #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,
    })
Пример #6
0
def change_email():
    form = ChangeEmailForm()
    if form.validate_on_submit():
        token = current_user.generate_confirmation_token()
        send_mail(form.email.data, 'Change email address', 'mail/change_email_mail', user = current_user, token = token, email = form.email.data)
        flash('Mail to confirm has been send in your new address')
        return redirect(url_for('index'))
    return render_template('auth/change_email.html', form = form)
Пример #7
0
def change_email():
    '''
        application for changing the email of a user
    '''
    form = ChangeEmailForm()
    if form.validate_on_submit():
        email = request.form['email']
        functions.edit_email(email, session['id'])
        return redirect('/profile/settings/')
    return render_template('change_email.html',
                           form=form,
                           username=session['username'])
Пример #8
0
def change_email_request():
    form = ChangeEmailForm()
    if form.validate_on_submit():
        if current_user.verify_password(form.password.data):
            new_email = form.email.data
            token = current_user.generate_email_token(new_email)
            send_email(new_email,'确认你的邮箱地址','auth/email/change_email',
                       user=current_user,token=token)
            flash('邮箱已经发送至你的邮箱请注意查收!')
            return redirect(url_for('main.index'))
        else:
            flash('邮箱或者密码错误')
    return render_template('auth/change_email.html',form=form)
Пример #9
0
def changeemail():
	form = ChangeEmailForm()
	if form.validate_on_submit():
		user = User.query.filter_by(email = current_user.email).first()
		if User.query.filter_by(email = form.newemail.data).first():
			flash(u'该邮箱地址已被注册,请换用其他邮箱')
		else:
			if user.verify_password(form.password.data):
				token = user.generate_confirmationwithaddress_token(address = form.newemail.data)
				send_email(form.newemail.data, u'验证新的邮箱地址', '/auth/email/changeemail', user = user, token = token)
				flash(u'我们已向您的注册邮箱发送了一封重置邮箱确认邮件,请注意查收')
			else:
				flash(u'密码错误')
	return render_template('auth/changeemail.html', form = form)
Пример #10
0
def change_email():
    flash('错误的邮箱地址可能导致账号丢失!请小心哦~', 'warning')
    form = ChangeEmailForm()
    if form.validate_on_submit():
        current_user.email = form.email.data
        current_user.confirm = 0
        db.session.add(current_user)
        db.session.commit()
        token = current_user.generate_confirm_user_token()
        send_email(current_user, current_user.email, 'change_email', token)
        flash(
            'A email with token has been sent to your email, please check the junk box :P',
            'success')
    return render_template('user/change_email.html', form=form)
Пример #11
0
def change_email_request():
    form = ChangeEmailForm()
    if form.validate_on_submit():
        if current_user.verify_password(form.password.data):
            new_email = form.email.data
            token = current_user.generate_email_change_token(new_email)
            send_email(new_email,
                       'Confirm your email address',
                       'auth/email/change_email',
                       user=current_user,
                       token=token)
            flash('An email with instructions to confirm your new email '
                  'address has been sent to you.')
            return redirect(url_for('main.index'))
        else:
            flash('Invalid email or password.')
    return render_template("auth/change_email.html", form=form)
Пример #12
0
def profile_change_email():
    form = ChangeEmailForm()
    if form.validate_on_submit():
        if current_user.verify_password(form.password.data):
            new_email = form.email.data
            token = current_user.generate_email_change_token(new_email)
            confirm_url = url_for('main.confirm_email_change',
                                  token=token,
                                  _external=True)
            send_email_change_confirmation_email(new_email, confirm_url)

            flash(
                f'Confirmation of email change request was sent for {current_user.name}! Go to your email inbox and confirm.',
                'success')
            return redirect(url_for('main.profile_change_email'))

    return render_template("profile_change_email.html",
                           title='Register',
                           form=form)
Пример #13
0
def changeEmail():
    """
    Change the users email
    """
    form = ChangeEmailForm()
    user = current_user

    if form.validate_on_submit():
        # check whether employee exists in the database and whether
        if user is not None:

            user.email = form.email.data
            db.session.commit()

            return redirect(url_for('home.myAccount'))
        # when email doesn't exist
        else:
            flash('Invalid email')

    return render_template('home/change.html', title="Change Email", form=form)
Пример #14
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,
    })
Пример #15
0
def admin():
    admin = current_user
    admin_list = admin.search_all()
    add_admin_form = AddAdminForm()
    change_password_form = ChangePasswordForm()
    change_phone_form = ChangePhoneForm()
    change_email_form = ChangeEmailForm()
    change_info_form = ChangeInfoForm()
    if add_admin_form.validate_on_submit():
        admin.add_new_admin(add_admin_form)
        flash('ADD ADMIN SUCCESS!')
        return redirect(url_for('views_blueprint.admin'))
    if change_password_form.validate_on_submit():
        admin.change_password(change_password_form)
        flash('CHANGE PASSWORD SUCCESS!')
        return redirect(url_for('views_blueprint.admin'))
    if change_phone_form.validate_on_submit():
        admin.change_phone(change_phone_form)
        flash('CHANGE PHONE SUCCESS!')
        return redirect(url_for('views_blueprint.admin'))
    if change_email_form.validate_on_submit():
        admin.change_email(change_email_form)
        flash('CHANGE EMIAL SUCCESS!')
        return redirect(url_for('views_blueprint.admin'))
    if change_info_form.validate_on_submit():
        admin.change_info(change_info_form)
        flash('CHANGE INFO SUCCESS!')
        return redirect(url_for('views_blueprint.admin'))
    return new_render_template('admin.html',
                               admin_list=admin_list,
                               change_password_form=change_password_form,
                               change_phone_form=change_phone_form,
                               change_email_form=change_email_form,
                               change_info_form=change_info_form,
                               add_admin_form=add_admin_form,
                               page_title='ADMIN')