def make_email_primary(): form = EmailPrimaryForm() if form.validate_on_submit(): useremail = UserEmail.get_for(user=current_auth.user, email=form.email.data) if useremail is not None: if useremail.primary: flash(_("This is already your primary email address"), 'info') else: current_auth.user.primary_email = useremail db.session.commit() user_data_changed.send(current_auth.user, changes=['email-update-primary']) flash(_("Your primary email address has been updated"), 'success') else: flash(_("No such email address is linked to this user account"), 'danger') else: flash(_("Please select an email address"), 'danger') return render_redirect(url_for('.account'), code=303)
def remove_email(md5sum): useremail = UserEmail.get_for(user=current_auth.user, md5sum=md5sum) if not useremail: useremail = UserEmailClaim.get_for(user=current_auth.user, md5sum=md5sum) if not useremail: abort(404) if isinstance(useremail, UserEmail) and useremail.primary: flash(_("You cannot remove your primary email address"), 'danger') return render_redirect(url_for('.account'), code=303) if request.method == 'POST': # FIXME: Confirm validation success user_data_changed.send(current_auth.user, changes=['email-delete']) return render_delete_sqla( useremail, db, title=_("Confirm removal"), message=_("Remove email address {email} from your account?").format( email=useremail.email), success=_("You have removed your email address {email}").format( email=useremail.email), next=url_for('.account'), delete_text=_("Remove"), )