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 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
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'))