def settings(): if request.method == 'POST': password = request.form['password'] if password != "": password = utils.hash_password(password) email = request.form['email'] utils.change_user(password=password, mail=email) return json.dumps({'status': 'Saved'}) user = utils.get_user() return render_template('settings.html', user=user)
def resend(): user = utils.get_user() if user and user.confirmed: flash('Already confirmed.') return redirect(url_for('login')) if request.method == 'POST' and user: token = utils.generate_confirmation_token(user.mail) confirm_url = url_for('confirm', token=token, _external=True) html = render_template('activate.html', confirm_url=confirm_url) subject = "Please confirm your email" utils.send_confirmation_mail(user.mail, subject, html) flash('A new confirmation email has been sent.') return render_template('resent.html') return render_template('unconfirmed.html')
def confirm(token): try: email = utils.confirm_token(token) except: flash('The confirmation link is invalid or has expired.') return redirect(url_for('login')) user = utils.get_user() if user and user.mail == email: if user.confirmed: flash('Account already confirmed. Please login.') else: utils.change_user(confirmed=True, confirmed_on=time.time()) flash('You have confirmed your account. Thanks!') return redirect(url_for('login'))
def login(): if not session.get('logged_in'): form = LoginForm(request.form) if request.method == 'POST': username = request.form['username'].lower() password = request.form['password'] if form.validate(): if utils.credentials_valid(username, password): session['logged_in'] = True session['username'] = username return json.dumps({'status': 'Login successful'}) return json.dumps({'status': 'Invalid user/pass'}) return json.dumps({'status': 'Both fields required'}) return render_template('login.html', form=form) user = utils.get_user() if user and user and user.confirmed: return render_template('home.html', user=user) return redirect(url_for('unconfirmed'))
def unconfirmed(): user = utils.get_user() if user and user.confirmed: return redirect(url_for('login')) flash('Please confirm your account!') return render_template('unconfirmed.html')
def decorated_function(*args, **kwargs): user = get_user() if user.confirmed is False: flash('Please confirm your account!') return redirect(url_for('unconfirmed')) return func(*args, **kwargs)