Example #1
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 #2
0
def authenticate(album):
    """Check user credentials and initialize session"""
    show = Show(album)

    if request.method == 'POST':
        form = LoginForm(request.form)
        if form.validate():
            if show.check_auth(request.form['username'], current_app.config['SECRET_KEY'], request.form['password']):
                next_url = None
                if session.has_key('next_url'):
                    next_url = session['next_url']

                session.clear()

                session['username'] = request.form['username']
                session['album'] = album

                if next_url is not None:
                    session['next_url'] = next_url

                return True
    return False
Example #3
0
def signup():
    if not session.get('logged_in'):
        form = LoginForm(request.form)
        if request.method == 'POST':
            username = request.form['username'].lower()
            password = utils.hash_password(request.form['password'])
            email = request.form['email']
            if form.validate():
                if utils.username_taken(username):
                    flash("Username taken")
                    return json.dumps({'status': 'Username taken'})
                if utils.mail_taken(email):
                    flash("Email taken")
                    return json.dumps({'status': 'Email taken'})
                if utils.add_user(username, password, email):
                    session['logged_in'] = True
                    session['username'] = username
                    flash("Signup successful")
                    return json.dumps({'status': 'Signup successful'})
                flash("Signup failed")
                return json.dumps({'status': 'Signup failed'})
            flash('All fields required')
            return json.dumps({'status': 'All fields required'})
    return redirect(url_for('unconfirmed'))