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