Example #1
0
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)
Example #2
0
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')
Example #3
0
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'))
Example #4
0
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'))
Example #5
0
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')
Example #6
0
 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)