コード例 #1
0
def login():
    error = None
    if request.method == 'POST' and request.form[
            'senha'] != '' and request.form['cpf'] != '':
        cpf_inserido = controler.limpa_cpf(request.form["cpf"])
        senha_inserida = request.form["senha"]

        if controler.verifica_cpf(cpf_inserido, "usuarios"):  # ta na bd
            user = Usuario(controler.cpf_id(cpf_inserido, "usuarios"))
            if check_password_hash(user.senha, senha_inserida):
                session['user'] = True
                session['id'] = user.id
                tipo = controler.cpf_tipo(cpf_inserido, "usuarios")
                if tipo == 1:
                    return redirect(url_for('loggedCliente'))

                elif tipo == 2:
                    return redirect(url_for('loggedProfissional'))

                elif tipo == 3:
                    return redirect(url_for('ProfissionalCliente'))
            else:
                error = "Senha incorreta!"
        else:
            error = "Usuário não cadastrado"
    return render_template('login.html', error=error)
コード例 #2
0
ファイル: login.py プロジェクト: bopopescu/A2
def CadastrarAtendimentos():
    nome = None
    email = None
    telefone = None
    error = None
    if request.method == 'POST':
        cpf = request.form['cpfCliente']
        if len(cpf) == 14:
            nome = request.form["nome"]
            email = request.form["email"]
            telefone = request.form["telefone"]
            if controler.verifica_cpf(controler.limpa_cpf(cpf),'usuarios'): #Se o usuario está cadastrado, puxa os dados dele
                id_usuarioAtendimento = controler.cpf_id(controler.limpa_cpf(cpf))
                userAtendimento = Usuario(id_usuarioAtendimento)
                if nome != userAtendimento.nome: #Essa sequência de 3 if's é pra completar o preencher automaticamente
                    nome = userAtendimento.nome
                if email != userAtendimento.email:
                    email = userAtendimento.email
                if telefone != userAtendimento.telefone:
                    telefone = userAtendimento.telefone
                    if len(telefone) == 11:
                        telefone = '({}){}-{}'.format(telefone[0:2],telefone[2:7], telefone[7:])
                    else:
                        telefone = '({}){}-{}'.format(telefone[0:2],telefone[2:6], telefone[6:])

            else: # Se não está cadastrado, semi-cadastra.
                if "botao" in request.form:
                    nome = request.form["nome"]
                    email = request.form["email"]
                    telefone = request.form["telefone"]
                    cpf = controler.limpa_cpf(request.form['cpfCliente'])
                    controler.pre_cadastra(nome, cpf, controler.limpa_telefone(telefone), email)
                    id_usuarioAtendimento = controler.cpf_id(cpf)
                    controler.cadastra_cliente(id_usuarioAtendimento,'-','-''-','-','-','-','-','-','-') 
                     #Se o cliente n tá cadastrado, é criado um semi-cadastro e depois o id_cliente dele é puxado

            id_profissional = session['id']
            data_consulta = request.form['dataConsulta']
            data_gerado = date.today()  #para transformar de date em dd/mm/aaa -> .strftime("%d/%m/%Y")
            valor = request.form['valor']
            forma_pagamento = request.form.get('forma_pagamento')
            numero_parcelas = request.form['numero_parcelas']

            if request.form["cpfCliente"] != "" and request.form["nome"] != "" and request.form["email"] != "" and request.form["telefone"] != "" and request.form["dataConsulta"] != "" and request.form["valor"] != "" and forma_pagamento !="0" and numero_parcelas!="":
                data_consulta = controler.converte_data(data_consulta)
                controler.cadastra_atendimento(id_profissional, id_usuarioAtendimento, valor, data_consulta, data_gerado, int(forma_pagamento), int(numero_parcelas))
                return redirect(url_for('RecibosProfissional')) 
            else:
                if "botao" in request.form:
                    error = "Preencha todos os campos"
    return render_template('CadastrarAtendimentos.html', nome=nome, email=email, telefone=telefone, error=error)
コード例 #3
0
ファイル: login.py プロジェクト: bopopescu/A2
def redf2():
    error = None
    if request.method == 'POST':
        senhanova = request.form['senhanova']
        confirma_senhanova = request.form['confirma_senhanova']
        if senhanova == confirma_senhanova:
            hashed_nova = generate_password_hash(senhanova)
            cpf = Profissional(session["id"]).cpf
            if controler.verifica_cpf(cpf, 'usuarios'):
                ups = {'senha':hashed_nova}
                controler.update(ups, "usuarios", "cpf="+cpf)
            return redirect(url_for('login'))
        else:
            error = "As senhas não conferem."
    return render_template('redefinir_senha.html', error = error)   
コード例 #4
0
ファイル: login.py プロジェクト: bopopescu/A2
def redf(token):
    error = None
    if request.method == 'POST':
        if controler.valida_token(token):
            senhanova = request.form['senhanova']
            confirma_senhanova = request.form['confirma_senhanova']
            if senhanova == confirma_senhanova:
                hashed_nova = generate_password_hash(senhanova)
                cpf = controler.select('cpf', 'pedido_mudanca_senha', 'chave= "'+token+'"')[0][0]
                if controler.verifica_cpf(cpf, 'usuarios'):
                    ups = {'senha':hashed_nova}
                    controler.update(ups, "usuarios", "cpf="+cpf)
                return redirect(url_for('login'))
            else:
                error = "As senhas não conferem."
        else:
            error = "O token expirou."
    return render_template('redefinir_senha.html', error = error)   
コード例 #5
0
def cadastro():
    error = None
    if request.method == "POST":  #cliente
        if request.form["radio"] == '0':
            nome = request.form["nome"]
            data_de_nascimento = request.form["nascimento"]
            cpf = request.form["cpf"]
            telefone = controler.limpa_telefone(request.form["telefone"])
            email = request.form["email"]
            senha = request.form["senha"]
            cep = request.form["cep"]
            endereco = request.form["endereco"]
            numero = request.form["numero"]
            if request.form["complemento"] == "":
                complemento = "-"
            else:
                complemento = request.form["complemento"]
            cidade = request.form["cidade"]
            estado = request.form["estado"]

            if nome == '' or data_de_nascimento == '' or cpf == '' or telefone == '' or email == '' or senha == '' or cep == '' or endereco == '' or numero == '' or cidade == '' or estado == '':
                error = 'Preencha todos os campos!'
            elif cpf == "CPF Inválido" or len(cpf) != 14:
                error = 'Verifique seu CPF!'
            elif endereco == "CEP não encontrado":
                error = 'Verifique seu CEP!'
            elif controler.verifica_email(email, 'usuarios'):
                error = 'Ops! Email já cadastrado.'
            elif len(data_de_nascimento) != 10 or controler.valida_data(
                    data_de_nascimento) or controler.verifica_idade(
                        data_de_nascimento) == "erro":
                error = 'Data de nascimento inválida!'
            else:
                cpf = controler.limpa_cpf(request.form["cpf"])
                if controler.verifica_cpf(
                        cpf, 'usuarios'
                ):  #verificar o tipo -> se for 0 -> apenas update
                    tipo = controler.cpf_tipo(cpf, "usuarios")
                    if tipo == 0:
                        pass
                    else:
                        error = "Este CPF já está cadastrado."

                else:
                    hashed_password = generate_password_hash(senha)
                    if controler.verifica_idade(
                            data_de_nascimento) == False:  #maior de idade
                        nome_responsavel = '-'
                        cpf_responsavel = '-'
                        tipo = 1
                        controler.cadastra_usuario(
                            cpf, nome, email, telefone,
                            controler.converte_data(data_de_nascimento),
                            hashed_password, tipo)
                        id_cliente = controler.select("id", "usuarios",
                                                      "cpf=" + str(cpf))[0][0]
                        controler.cadastra_cliente(id_cliente, cep, endereco,
                                                   numero, complemento, cidade,
                                                   estado, nome_responsavel,
                                                   cpf_responsavel)
                        return redirect(url_for('login'))

                    else:  #menor de idade
                        nome_responsavel = request.form["nomeRes"]
                        cpf_responsavel = request.form["cpfRes"]
                        if nome_responsavel == '' or cpf_responsavel == '':
                            error = 'Preencha todos os campos'
                        elif cpf_responsavel == "CPF Inválido" or len(
                                cpf_responsavel) != 14:
                            error = "Verifique o CPF do responsável"
                        else:
                            tipo = 1
                            controler.cadastra_usuario(
                                cpf, nome, email, telefone,
                                controler.converte_data(data_de_nascimento),
                                hashed_password, tipo)
                            id_cliente = controler.select(
                                "id", "usuarios", "cpf=" + str(cpf))[0][0]
                            controler.cadastra_cliente(id_cliente, cep,
                                                       endereco, numero,
                                                       complemento, cidade,
                                                       estado,
                                                       nome_responsavel,
                                                       cpf_responsavel)
                            return redirect(url_for('login'))

        if request.form["radio"] == '1':  #profissional
            nome = request.form["nomePro"]
            cpf = request.form["cpfPro"]
            profissao = request.form["profissaoPro"]
            registro_profissional = request.form["regProf"]
            telefone = controler.limpa_telefone(request.form["telefonePro"])
            data_de_nascimento = request.form["nascimentoPro"]
            email = request.form["emailPro"]
            senha = request.form["senhaPro"]
            cep = request.form["cepPro"]
            endereco = request.form["enderecoPro"]
            numero = request.form["numeroPro"]
            if request.form["complemento"] == "":
                complemento = "-"
            else:
                complemento = request.form["complemento"]
            cidade = request.form["cidadePro"]
            estado = request.form["estadoPro"]

            if nome == '' or cpf == '' or profissao == '' or telefone == '' or data_de_nascimento == '' or email == '' or senha == '' or cep == '' or endereco == '' or numero == '' or cidade == '' or estado == '':
                error = 'Preencha todos os campos!'
            elif cpf == "CPF Inválido" or len(cpf) != 14:
                error = 'Verifique seu CPF!'
            elif endereco == "CEP não encontrado":
                error = 'Verifique seu CEP!'
            elif controler.verifica_email(email, 'usuarios'):
                error = 'Ops! Email já cadastrado.'
            elif len(data_de_nascimento) != 10 or controler.valida_data(
                    data_de_nascimento) or controler.verifica_idade(
                        data_de_nascimento) == "erro":
                error = 'Data de nascimento inválida'
            elif len(request.form["telefonePro"]) != 14 and len(
                    request.form["telefonePro"]) != 13:
                error = 'Verifique seu telefone!'
            else:
                cpf = controler.limpa_cpf(request.form["cpfPro"])
                if controler.verifica_cpf(cpf, 'usuarios'):
                    if tipo == 0:  #update
                        pass
                    else:
                        error = 'Este CPF já está cadastrado!'
                else:
                    hashed_password = generate_password_hash(senha)
                    tipo = 2
                    controler.cadastra_usuario(
                        cpf, nome, email, telefone,
                        controler.converte_data(data_de_nascimento),
                        hashed_password, tipo)
                    id_profissional = controler.select("id", "usuarios",
                                                       "cpf=" + str(cpf))[0][0]
                    telefone_comercial = telefone
                    controler.cadastra_profissional(id_profissional, profissao,
                                                    registro_profissional,
                                                    telefone_comercial, cep,
                                                    endereco, numero,
                                                    complemento, cidade,
                                                    estado)
                    return redirect(url_for('login'))
    return render_template('create.html', error=error)