def login():
    erros = campos_presentes_na_requisicao('email senha')

    if erros:
        return render_template('usuario/login.html', erros=erros), 400

    email = request.form.get('email')
    senha = request.form.get('senha')

    try:
        usuario = Usuario.get(email=email)

        if usuario.hash_senha == senha_hasheada(senha):
            session['usuario'] = model_to_dict(usuario)

            flash('Seja bem-vindo, {usuario}.'.format(
                usuario=usuario.nome.split()[0]))
            return redirect(url_for('pagina_inicial'))
        else:
            return render_template('usuario/login.html',
                                   erros=[Erro('Senha inválida.')]), 400

    except Usuario.DoesNotExist:
        return render_template('usuario/login.html',
                               erros=[{
                                   'mensagem': 'Usuário não encontrado.'
                               }]), 404
Exemple #2
0
def usuario():
    if 'usuario' in session:
        return Usuario.get(Usuario.id == session['usuario']['id'])
    else:
        return None