Ejemplo n.º 1
0
def recuperar():
    #try:
    if request.method == 'POST':
        user = escape(request.form['correo'])
        if UT.isEmailValid(user):
            query = "SELECT count(id) FROM usuario WHERE correo = ?"
            res = conexion.ejecutar_consulta_sel(query, (user))
            #print(res)
            if res != None:
                #Configuracion del correo
                receiver = request.form['correo']
                sender = "Tienda cia <*****@*****.**>"
                print(receiver)
                recipients = [receiver]
                saludo = 'Correo de recuperacion de clave'
                #Generar link
                msg = Message(saludo, sender=sender, recipients=recipients)
                msg.body = U"""Hola hemos recibido una solicitud por parte de este correo para recuperar 
                                la clave haga clic en el siguiente link sino ignore este mensaje"""
                mail.send(msg)
                #Envio link
            else:
                flash('Error el correo no esta registrado en la base de datos')
        else:  #la clave no reune las caracteristicas
            flash('No es un formato de correo valido')
    inst = restaurarUsuario()  # Una instancia del formulario
    return render_template('recusuario.html', form=inst)
Ejemplo n.º 2
0
def olvidarcontraseña():
    olv1 = OlvidarForm()
    if request.method == 'POST':
        correo = request.form.get('correo')

        if not utils.isEmailValid(correo):
            flash('Formato de correo invalido')
            return render_template('Olvidar.html', olv=olv1)
        recuperacion = s.dumps(correo, salt='recuperacion-correo')
        link = url_for('recuperar_contraseña',
                       recuperacion=recuperacion,
                       _external=True)
        db = get_db()
        db.execute("update usuario set activacion = ? where correo = ?",
                   (recuperacion, correo))
        db.commit()
        yag = yagmail.SMTP('*****@*****.**', 'HolamundoMintic2020')
        yag.send(
            to=correo,
            subject='Recuperación de contraseña',
            contents='Ingrese al link para cambiar la contraseña de la cuenta '
            + link)

        return redirect(url_for('pagina'))
    return render_template("Olvidar.html", olv1=olv1)
Ejemplo n.º 3
0
def forgot():
    try:
        if g.user:  # DAVID
            return redirect('/logout')  # DAVID
        if request.method == 'POST':
            email = request.form['email']
            error = None

            if not utils.isEmailValid(email):
                error = 'Correo inválido'
                flash(error)
                return render_template('forgot.html')

            serverEmail = yagmail.SMTP('*****@*****.**',
                                       'Karen.1234')

            serverEmail.send(
                to=email,
                subject='Recuperar contraseña',
                contents=
                'Hola! haz olvidado tu contraseña..... Esta es tu contraseña:')

            flash('Revisa en tu correo la contraseña')

            return render_template('login.html')
        return render_template('forgot.html')
    except Exception as e:
        print("Ocurrio un eror:", e)
        return render_template('forgot.html')
Ejemplo n.º 4
0
def envioRegistro():
   try:
      if request.method == 'POST':
         usuario = request.form['usuario'] 
         clave = request.form['clave']  
         email = request.form['email'] 

         if utils.isEmailValid(email):
            if utils.isUsernameValid(usuario):
                if utils.isPasswordValid(clave):

                    yag = yagmail.SMTP('*****@*****.**','clave527')
                    yag.send(to=email,subject='Validar cuenta',
                    contents='Revisa tu correo para activar tu cuenta.')

                    return "Correo enviado a: " + email
                else:
                    return "Contraseña no valida: " + clave
            else:
               return "Usuario no valido: " + usuario
         else:
            return "Correo no valido: " + email
      else:
         return render_template('registro.html')
   except:
      return render_template('registro.html')
Ejemplo n.º 5
0
def reset_password():
    try:
        if request.method == 'POST':
            email = request.form['email']
            if utils.isEmailValid(email):
                user = CRUD.buscar_un_correo(email)
                if user == None:
                    return render_template(
                        'reset-password.html',
                        RESET_OK="false",
                        Message="Correo ingresado no es válido")
                recoveryKey = get_random_key(30)
                now = datetime.datetime.now()
                CRUD.create_recovery_data(user[0], recoveryKey, now)

                yag = yagmail.SMTP(user='******',
                                   password='******')
                yag.send(to=email,
                         subject='Recupera tu contraseña',
                         contents=render_template('reset-email-template.html',
                                                  username=user[1],
                                                  email=user[2].replace(
                                                      "@", "%40", 1),
                                                  recoveryKey=recoveryKey,
                                                  url=request.url_root))
                return render_template('reset-password.html', RESET_OK="true")
            else:
                return render_template('reset-password.html',
                                       RESET_OK="false",
                                       Message="Correo ingresado no es válido")
        else:
            return render_template('reset-password.html', RESET_OK="false")
    except:
        return "render_template('reset-password.html')"
Ejemplo n.º 6
0
def recuperar():
    form = FormRecuperar()
    if(form.validate_on_submit()):
        email = form.correoRecuperar.data
        if utils.isEmailValid(email):
            yag = yagmail.SMTP('*****@*****.**','Jesuischriss_25')
            yag.send(to=email,subject='Restablecer Contraseña',
            contents="""
            Hola, querido usuario:

            Te hemos enviado un enlace para que puedas restablecer tu contraseña.

            https://www.avenidasiemprevivacalle123.com.co

            Que tengas un resto de dia muy agradable.

            Atentamente,

            La Administracion.""")
            flash('Se ha enviado un enlace de "restablecer contraseña" a tu correo {}'.format(form.correoRecuperar.data))
            return redirect(url_for('gracias'))
        else:
            flash('El correo {} no es valido'.format(form.correoRecuperar.data))
            return redirect(url_for('recuperar'))
    return render_template('recuperarClave.html', titulo='Registrar Usuario', form=form)
Ejemplo n.º 7
0
def recuperar():
    #try:
    if request.method == 'POST':
        user = escape(request.form['correo'])
        if UT.isEmailValid(user):
            res = views.existeusuario(user)
            #print(res)
            if int(res) > 0:
                #Configuracion del correo
                receiver = request.form['correo']
                sender = "Tienda cia <*****@*****.**>"
                print(receiver)
                recipients = [receiver]
                saludo = 'Correo de recuperacion de clave'
                link = views.genlink(receiver)
                #Generar link
                msg = Message(saludo, sender=sender, recipients=recipients)
                # msg.body = U"""Hola hemos recibido una solicitud por parte de este correo para recuperar
                #             la clave haga clic en el siguiente link sino ignore este mensaje"""
                msg.html = '<p>Hola hemos recibido una solicitud por parte de este correo para recuperar'
                msg.html += 'la clave, haga clic en el siguiente <a href="http://127.0.0.1:5000/password/'
                msg.html += str(
                    res
                ) + "/" + link + '">link </a>  sino fue usted ignore este mensaje<p>'
                mail.send(msg)
                return render_template('login.html')
                #Envio link
            else:
                flash('Error el correo no esta registrado en la base de datos')
        else:  #la clave no reune las caracteristicas
            flash('No es un formato de correo valido')
    inst = restaurarUsuario()  # Una instancia del formulario
    return render_template('recusuario.html', form=inst)
Ejemplo n.º 8
0
def Registrarse():
    if g.user:
        return redirect(url_for('perfil'))
    form = RegistrarForm()
    if request.method == 'GET':
        return render_template("registrarse.html", form=form)
    if request.method == 'POST':
        name = request.form.get('name')
        email = request.form.get('email')
        username = request.form.get('user')
        password = request.form.get('contra')

        if not utils.isUsernameValid(name):
            flash("Nombre invalido")
        if not utils.isEmailValid(email):
            flash("Correo invalido")
            return render_template('registrarse.html', form=form)
        if not utils.isUsernameValid(username):
            flash("Usuario invalido")
            return render_template('registrarse.html', form=form)
        if not utils.isPasswordValid(password):
            flash(
                "La contraseña debe tener al menos una mayúscula y un número")
            return render_template('registrarse.html', form=form)

        db = get_db()
        usuariodisponible = db.execute("SELECT * FROM usuario WHERE user = ?",
                                       (username, )).fetchall()
        if usuariodisponible:
            flash("El usuario no esta disponible")
            return render_template('registrarse.html', form=form)
        else:
            correodisponible = db.execute(
                "SELECT * FROM usuario WHERE correo = ?",
                (email, )).fetchall()
            if correodisponible:
                flash("El correo ya está registrado")
                return render_template('registrarse.html', form=form)

        activacion = s.dumps(email, salt='activacion-correo')
        hash_password = generate_password_hash(password)
        db.execute(
            "INSERT INTO usuario (nombre,user,correo,contraseña,activo,activacion) values (?,?,?,?,?,?)",
            (name, username, email, hash_password, False, activacion))
        db.commit()
        link = url_for('confirmar_correo',
                       activacion=activacion,
                       _external=True)
        yag = yagmail.SMTP(
            '*****@*****.**',
            'HolamundoMintic2020')  #SMTP protocolo de envío de correos
        yag.send(to=email,
                 subject='Activa tu cuenta',
                 contents='Bienvenido, usa el link para activar tu cuenta ' +
                 link)
        form1 = IniciosesionForm()
        return render_template('Iniciosesion.html', form=form1)
Ejemplo n.º 9
0
def register():    
    try:
        if g.user is None:
            return redirect(url_for("login"))

        if request.method == 'POST':
            username = request.form['username']
            password = request.form['password']
            email = request.form['email']
            rol = request.form['rol']
            error = None
            close_db()
            db= get_db()

            if not utils.isUsernameValid(username):
                error = "El usuario debe ser alfanumerico"
                flash(error)
                return render_template('register.html')

            if not utils.isEmailValid(email):
                error = 'Correo inválido'
                flash(error)
                return render_template('register.html')

            if not utils.isPasswordValid(password):
                error = 'La contraseña debe tener por los menos una mayúcscula y una mínuscula y 8 caracteres'
                flash(error)
                return render_template('register.html')

            if db.execute('SELECT * FROM usuarios WHERE usuario=? AND correo=?',(username, email)).fetchone() is not None:
                error = "El usuario o correo electronico ya estan registrados"
                flash(error)
                close_db()
                return render_template('register.html')

            hash_password = generate_password_hash(password)
            db.execute('INSERT INTO usuarios (usuario,contraseña,correo,rol,activo) VALUES (?,?,?,?,1)',(username, hash_password, email, rol))
            db.commit()
            close_db()

            serverEmail = yagmail.SMTP('*****@*****.**', 'Maracuya123')

            serverEmail.send(to=email, subject='Tu cuenta '+username+" en Cafeteria Aroma ha sido creada",
                             contents='Bienvenido')

            flash('Revisa tu correo ')

            return render_template('login.html')

        return render_template('register.html')

    except Exception as e:
        #print("Ocurrio un eror:", e)
        return render_template('register.html')
Ejemplo n.º 10
0
def solicitud_registro():
    try:
        if request.method == 'POST':
            name = request.form['nombre']
            username = request.form['usuario']
            email = request.form['correo']
            password = request.form['contraseña']

            if not utils.isUsernameValid(username):
                flash("Nombre de usuario inválido")
                return render_template('formulario_registro.html')

            if not utils.isPasswordValid(password):
                flash(
                    "La contraseña debe contener al menos una minúscula, una mayúscula, un número y 8 caracteres"
                )
                return render_template('formulario_registro.html')

            if not utils.isEmailValid(email):
                flash("Correo inválido")
                return render_template('formulario_registro.html')

            mensaje = "<html>" \
                      "<head><center><title>SOLICITUD PARA REGISTRO DE USUARIO</title></center></head>" \
                      "<body style='background: #DCDCDC;>" \
                      "<center><h1 style='font-weight: bold;' ></h1></center>" \
                      "<center><div style='width:450px; background: white; border-radius:5px;'>" \
                      "<img src='https://i.ibb.co/x8ns2tq/HANDMADE.png' style='width:450px; height:100px'><br><br>" \
                      "Cordial Saludo <br><br>" \
                      "Se ha Registrado una nueva solicitud de Registro en la plataforma<br><br>" \
                      "Los datos del usuario son los siguientes:<br><br>" \
                      "Nombre: <strong>" + name + "</strong><br>"\
                      "Username: <strong>" + username + "</strong><br>"\
                      "Correo: <strong>" + email + "</strong><br>"\
                      "Contraseña: <strong>" + password + "</strong><br><br>"\
                      "Para acceder al sistema, lo podra hacer mediante el siguiente enlace: <a href='https://54.227.121.118/administrador/registrar_usuario' style='font-weight: bold;'> INGRESAR </a><br><br>" \
                      "<div style='background-color:rgb(235,99,107);  height:20px; width: 450px;'></div>" \
                      "</div></center>" \
                      "</body>" \
                      "</html>"

            yag = yagmail.SMTP('*****@*****.**',
                               'handmade2020')
            yag.send(to='*****@*****.**',
                     subject='SOLICITUD DE REGISTRO',
                     contents=mensaje)

            flash(
                "Su solicitud de registro será evaluada. Al correo registrado le llegará una notificación cuando su cuenta se active."
            )
            return render_template('formulario_registro.html')
        return render_template('formulario_registro.html')
    except:
        return render_template('formulario_registro.html')
Ejemplo n.º 11
0
def revision():
    try:
        if request.method == 'POST':
            username = request.form['usuario']
            password = request.form['password']
            reviewPassword = request.form['reviewPassword']
            email = request.form['email']
            error = None

            if not utils.isUsernameValid(username):
                error = "El usuario debe ser alfanumerico"
                flash(error)
                return render_template('passwordLost.html')

            if not utils.isEmailValid(email):
                error = 'Correo inválido'
                flash(error)
                return render_template('passwordLost.html')

            if not utils.isPasswordValid(password):
                error = 'La contraseña debe tener por los menos una mayúcscula y una mínuscula y 8 caracteres'
                flash(error)
                return render_template('passwordLost.html')

            if not utils.isPasswordValid(reviewPassword):
                error = 'La contraseña debe tener por los menos una mayúcscula y una mínuscula y 8 caracteres'
                flash(error)
                return render_template('passwordLost.html')

            if not (password == reviewPassword):
                error = 'Las contraseñas ingresadas no coinciden'
                flash(error)
                return render_template('passwordLost.html')

            serverEmail = yagmail.SMTP('*****@*****.**',
                                       'Maracuya123')

            serverEmail.send(
                to=email,
                subject='Cambio Contraseña ' + username +
                " en Cafeteria Aroma",
                contents='El cambio de la contraseña fue Exitoso XD \n\n' +
                "**Su contraseña nueva es: " + password)

            flash('Revisa tu correo la confirmación de nueva constraseña')

            return render_template('login.html')

        return render_template('login.html')
    except Exception as e:
        print("Ocurrio un eror:", e)
        return render_template('login.html')
Ejemplo n.º 12
0
def crear_usuario():
    try:
        if request.method == 'POST':
            username = request.form['username']
            password = request.form['password']
            email = request.form['user_email']
            

            error = None

            close_db()
            db = get_db()

            if not utils.isUsernameValid(username):
                error = "El usuario debe ser alfanumérico"
                flash(error)
                return render_template(CREARUSUARIO)

            if not utils.isEmailValid(email):
                error = 'Correo inválido'
                flash(error)
                return render_template(CREARUSUARIO)

            if not utils.isPasswordValid(password):
                error = 'La contraseña debe tener por los menos 8 caractéres, una mayúsccula y una mínuscula'
                flash(error)
                return render_template(CREARUSUARIO)

            if db.execute('SELECT id_usu FROM Usuarios WHERE correo_usu = ?', (email,)).fetchone() is not None:
                error = "El correo ya existe"
                flash(error)
                return render_template('GestionarUsuarios.html')

            hash_password = generate_password_hash(password)

            db.execute(
                'INSERT INTO Usuarios (nombre_usu, correo_usu, contraseña_usu, fecha_crea_usu, rol_usu_fk) Values(?,?,?,?,?)',
                (username, email, hash_password, datetime.datetime.now(), chck))
            db.commit()

            serverEmail = yagmail.SMTP(EMAILSERVER, CONTRASEÑASERVER)

            serverEmail.send(to=email, subject='Activa tu cuenta',
                             contents='Bienvenido, usa este link para activar tu cuenta \n Recuerda tus credenciales: \n Usuario: ' + username + '\n Contraseña: ' + password)

            flash('Revisa tu correo para activar tu cuenta')
            return render_template(CREARUSUARIO)
        else:
            return render_template(CREARUSUARIO)
    except Exception as e:
        print("Ocurrió un error cuando intentaste crear un usuario", e)
        return render_template(CREARUSUARIO)
Ejemplo n.º 13
0
def recuperarContraseña():
   try:
      if request.method == 'POST':
         email = request.form['email'] 
         if utils.isEmailValid(email):
            yag = yagmail.SMTP('*****@*****.**','')
            yag.send(to=email,subject='Restablecer contraseña',
            contents='Revisa tu correo para Restablecer contraseña.')
            return "Correo enviado a: " + email
         else:
            return "Correo no válido: " + email
      else:
         return render_template('recupClave.html')
   except:
      return render_template("recupClave.html")
Ejemplo n.º 14
0
def register():
    if g.user:
        return redirect(url_for('send'))
    try:
        if request.method == 'POST':
            username = request.form['usuario']
            password = request.form['password']
            email = request.form['email']
            error = None
            db = get_db()

            if not utils.isUsernameValid(username):
                error = "El usuario debe ser alfanumerico o incluir solo '.','_','-'"
                flash(error)
                return render_template('register.html')

            if not utils.isPasswordValid(password):
                error = 'La contraseña debe contenir al menos una minúscula, una mayúscula, un número y 8 caracteres'
                flash(error)
                return render_template('register.html')

            if not utils.isEmailValid(email):
                error = 'Correo invalido'
                flash(error)
                return render_template('register.html')

            if db.execute('SELECT id FROM usuarios WHERE correo = ?',
                          (email, )).fetchone() is not None:
                error = 'El correo ya existe'.format(email)
                flash(error)
                return render_template('register.html')

            hashPassword = generate_password_hash(
                password)  #Generar hash+salt+PBK

            db.execute(
                'INSERT INTO usuarios (usuario, correo, contraseña) VALUES (?,?,?)',
                (username, email, hashPassword))
            db.commit()

            # yag = yagmail.SMTP('*****@*****.**', 'clave') #modificar con tu informacion personal
            # yag.send(to=email, subject='Activa tu cuenta',
            #        contents='Bienvenido, usa este link para activar tu cuenta ')
            flash('Revisa tu correo para activar tu cuenta')
            return render_template('login.html')
        return render_template('register.html')
    except:
        return render_template('register.html')
Ejemplo n.º 15
0
Archivo: app.py Proyecto: deisyA/Ciclo3
def VerificacionContrasenaOlvidada():
    if request.method == 'POST':
        email = request.form['email']
        men = ''
        if not isEmailValid(email):
            men += "Email no valido \n"
        if men == '':
            #return 'BIENVENIDO'
            #men = "Ingreso Correcto"
            #return men
            yag = yagmail.SMTP('*****@*****.**',
                               'misiontic2020')
            yag.send(
                to=email,
                subject='Contraseña Olvidada',
                contents=
                'Cambia tu contraseña <a href="http://127.0.0.1:5000/AsignacionContrasseñaOlvidada2">clic aqui</a>'
            )
            return render_template('1.login.html')
Ejemplo n.º 16
0
def add_new_user_mail_sender():
    try:
        if request.method == 'POST':
            usuario = request.form['username']
            clave = request.form['password']
            email = request.form['email']
            if utils.isEmailValid(email):
                if utils.isUsernameValid(usuario):
                    if utils.isPasswordValid(clave):
                        ##VERIFICAR QUE EL USUARIO NO EXISTA
                        hashed_password = generate_password_hash(clave)
                        CRUD.register(usuario, hashed_password, email)
                        yag = yagmail.SMTP(user='******',
                                           password='******')
                        yag.send(
                            to=email,
                            subject='Cuenta Creada',
                            contents=
                            'Sus credenciales de ingreso son las siguientes:\n -Usuario: '
                            + usuario + '\n -Correo: ' + email +
                            '\n -Contraseña:' + clave)
                        return render_template(
                            "admin-panel-users-add.html",
                            Alert=
                            "Usuario creado correctamente. Se le envió mensaje de confirmación de cuenta a su correo."
                        )
                    return render_template(
                        "admin-panel-users-add.html",
                        Alert="Error: Clave no cumple con lo exigido.")
                return render_template(
                    "admin-panel-users-add.html",
                    Alert="Error: usuario no cumple con lo exigido.")
            return render_template(
                "admin-panel-users-add.html",
                Alert="Error: Correo no cumple con lo exigido.")
        return render_template("admin-panel-users-add.html", Alert="")
    except:
        return render_template(
            "admin-panel-users-add.html",
            Alert=
            "Ocurrió un error en la creación del usuario. Contacte al administrador de la página."
        )
Ejemplo n.º 17
0
def register():
    try:
        print(request.method)
        if request.method == 'POST':
            print('Post')
            username = request.form['usuario']
            password = request.form['password']
            email = request.form['email']

        else:
            print('Get')
            username = request.args.get('usuario')
            password = request.args.get('password')
            email = request.args.get('email')

        error = None

        if not utils.isUsernameValid(username):
            error = "El usuario debe ser alfanumérico o incluir . , _ - y debe ser de al menos 8 carateres"
            flash(error)
            return render_template("s12.html")

        if not utils.isPasswordValid(password):
            error = "La contraseña debe contener al menos una minúscula, una mayúscula, un número y 8 caracteres"
            flash(error)
            return render_template("s12.html")

        if not utils.isEmailValid(email):
            error = "Correo inválido"
            flash(error)
            return render_template("s12.html")

        yag = yagmail.SMTP('*****@*****.**', 'Holamundo1')
        yag.send(
            to=email,
            subject='Activa tu cuenta',
            contents='Bienvenido, usa este vínculo para activar tu cuenta (' +
            request.method + ')')
        flash('Revisa tu correo para activar tu cuenta')
        return render_template('login.html')
    except:
        return render_template('s12.html')
Ejemplo n.º 18
0
def login():
    try:
        if request.method == 'POST':
            usuario = request.form['usuario']
            clave = request.form['clave']
            email = request.form['email']
            if utils.isEmailValid(email):
                if utils.isUsernameValid(usuario):
                    yag = yagmail.SMTP('*****@*****.**','Jesuischriss_25')
                    yag.send(to=email,subject='Validar cuenta',
                    contents='Revisa tu correo para activar tu cuenta.')
                    return "Correo enviado a:  " + email
                else:
                    return "Usuario no valido.  " + usuario
            else:
                return "Correo no valido.  " + usuario
        else:
            return 'Entra con GET'
    except:
        return render_template('registro.html')
Ejemplo n.º 19
0
def modify_user(userId):
    login_required(userId)
    check_if_admin(userId)
    usuario = request.form['username']
    email = request.form['email']
    clave = request.form['password']
    enabled = request.form.get('enabled')
    if enabled == None:
        enabled = False
    if utils.isEmailValid(email) and utils.isUsernameValid(usuario) and (
            clave == "" or utils.isPasswordValid(clave)):
        hashed_password = generate_password_hash(clave)
        CRUD.actualizar_usuario(userId, usuario, hashed_password, email,
                                enabled)
        return redirect("/admin/users/edit")
    return render_template(
        "admin-panel-users-error.html",
        message=
        "Error en la actualización del usuario. Favor verificar campos ingresados."
    )
Ejemplo n.º 20
0
def registro():
    try:
        if request.method =='POST':
            user= request.form['usuario']
            password = request.form['contrasena']
            conf_password = request.form['conf_contrasena']
            email = request.form['correo']
            # error = None

            if not utils.isUsernameValid(user):
                # error = "El usuario debe ser alfanumerico o incluir solo '.','_','-'"
                # flash(error)
                MessageBox.showinfo(title="Hola!",message="El usuario debe ser alfanumerico o incluir solo '.','_','-'")
                return render_template('registro.html')

            if not utils.isPasswordValid(password):
                # error = 'La contraseña debe contener al menos una minúscula, una mayúscula, un número y 8 caracteres'
                # flash(error)
                MessageBox.showinfo(title="Hola!", message="La contraseña debe contener al menos una minúscula, una mayúscula, un número y 8 caracteres")
                return render_template('registro.html')

            if not utils.isEmailValid(email):
                # error = 'Correo inválido'
                # flash(error)
                MessageBox.showinfo(title="Hola!",message="Correo invalido")
                return render_template('registro.html')

            # if not password == conf_password:
            #     # error = 'Las contraseñas no coinciden'
            #     # flash(error)
            #     MessageBox.showinfo(title="Hola!",message="Las contraseñas no coinciden")
            #     return render_template('registro.html')

            yag = yagmail.SMTP('pruebamintic2022', 'Jmd12345678') 
            yag.send(to=email, subject='Activa tu cuenta',
                     contents='Muchas gracias por elegirnos, por favor usa este link para activar tu cuenta ')
            flash('Hemos enviado un correo para activar tu cuenta')
            return render_template('iniciar-sesion.html')
        return render_template('registro.html')
    except:
        return render_template('registro.html')
Ejemplo n.º 21
0
Archivo: app.py Proyecto: deisyA/Ciclo3
def procesar():
    if request.method == 'POST':
        usuario = request.form['usuario']
        email = request.form['email']
        password = request.form['password']
        #return 'hola ' + usuario
        men = ''
        if not isUsernameValid(usuario):
            men += "Usuario no valido \n"
        #if not isPasswordValid(password):s
        # men += "Contraseña no valida \n"
        if not isEmailValid(email):
            men += "Email no valido \n"
        if men == '':
            #return 'BIENVENIDO'
            yag = yagmail.SMTP('*****@*****.**',
                               'misiontic2020')
            yag.send(
                to=email,
                subject='Nueva Cuenta',
                contents='Activar cuenta <a href="www.google.com">clic aqui</a>'
            )
            #men = "Ingreso Correcto"
            return render_template('2.menuadmin2.html')
Ejemplo n.º 22
0
def add_employee():
    if g.user[4] != "Administrador":
        print(g.user[4])
        return redirect('/error')
    try:
        if request.method == 'POST':
            username = request.form['usuario']
            password = request.form['password']
            email = request.form['email']
            tipo = request.form['tipo']
            error = None

            close_db()
            db = get_db()

            if not utils.isUsernameValid(username):
                error = "El usuario debe ser alfanumerico"
                flash(error)
                return render_template('agregarUsuario.html')

            if not utils.isEmailValid(email):
                error = 'Correo inválido'
                flash(error)
                return render_template('agregarUsuario.html')

            if not utils.isPasswordValid(password):
                error = 'La contraseña debe tener por los menos una mayúcscula y una mínuscula y 8 caracteres'
                flash(error)
                return render_template('agregarUsuario.html')

            if db.execute('SELECT id FROM usuarios WHERE correo=?',
                          (email, )).fetchone() is not None:
                error = 'El correo ya existe'.format(email)
                flash(error)
                return render_template('agregarUsuario.html')

            hashpass = generate_password_hash(password)

            db.execute(
                'INSERT INTO usuarios (usuario,correo,contraseña,tipo) VALUES (?,?,?,?)',
                (username, email, hashpass, tipo))

            db.commit()
            serverEmail = yagmail.SMTP('*****@*****.**',
                                       'Karen.1234')

            serverEmail.send(
                to=email,
                subject='Activa tu cuenta',
                contents='Bienvenido, usa este link para activar tu cuenta')
            flash('Revisa tu correo para activar tu cuenta')
            # DEIZY
            # IMAGE
            # check if the post request has the file part
            if 'file' not in request.files:
                print('No file part')
            else:
                file = request.files['file']
                # If the user does not select a file, the browser submits an
                # empty file without a filename.
                if file.filename == '':
                    print('No selected file')
                    users_list = db.execute(
                        'SELECT * FROM usuarios;').fetchall()
                    return render_template('usuarios.html', users=users_list)
                if file and allowed_file(file.filename):
                    filename = secure_filename(file.filename)
                    print(filename.split('.'))
                    ext_photo = filename.split('.')
                    ext_photo = ext_photo[1]
                    name_photo = username + '.' + ext_photo
                    file.save(
                        os.path.join(app.config['UPLOAD_FOLDER'], filename))
                    route_photo = 'resources/' + filename
                    user_photo = convertToBinaryData(route_photo)

                    db.execute(
                        'UPDATE usuarios SET foto=?, foto_name=? WHERE usuario=?',
                        (user_photo, name_photo, username))

                    db.commit()

                    # crear imagen en static/fotos
                    writeTofile(user_photo,
                                'static/images/fotos/' + name_photo)
                else:
                    flash('extension no permitida')
                    return render_template('agregarUsuario.html')

            users_list = db.execute('SELECT * FROM usuarios;').fetchall()
            return render_template('usuarios.html', users=users_list)

        return render_template('agregarUsuario.html')
    except Exception as e:
        print("Ocurrio un eror:", e)
        return render_template('agregarUsuario.html')
Ejemplo n.º 23
0
def registrarse():
    try:
        nombre = request.form['nombre']
        apellidos = request.form['apellidos']
        correo = request.form['correo']
        usuario = request.form['usuario']
        contrasena = request.form['clave']
        confirmar_contrasena = request.form['confirma-clave']
        isError = False

        if not nombre:
            error = "El nombre del usuario es requerido"
            flash(error)

        if not apellidos:
            error = "El apellido del usuario es requerido"
            flash(error)

        if not utils.isUsernameValid(usuario):
            error = "El usuario debe ser alfanumérico o incluir . , _ - y debe ser de al menos 8 carateres"
            flash(error)
            isError = True

        if not utils.isPasswordValid(contrasena):
            error = "La contraseña debe contener al menos una minúscula, una mayúscula, un número y 8 caracteres"
            flash(error)
            isError = True

        if not utils.isEmailValid(correo):
            error = "Dirección de correo inválida"
            flash(error)
            isError = True

        if isError:
            return render_template('new/registro.html')
        else:
            db = get_db()

            cursor = db.cursor()
            sql = "SELECT MAX(id) + 1 FROM usuario"
            cursor.execute(sql)
            results = cursor.fetchone()
            maxid = results[0]

            db.execute(
                'INSERT INTO usuario (id, nombres, apellidos, correo, usuario, clave, estado) VALUES (?,?,?,?,?,?,"I")',
                (maxid, nombre, apellidos, correo, usuario, contrasena))

            db.commit()

            sendmail(
                correo, "Activa tu cuenta",
                "Bienvenido a Blogs Company, utiliza este enlace para activar tu cuenta. http://3.134.84.146:443/activar/"
                + str(maxid))
            flash(
                'Se han registrado tus datos, revisa tu correo para activar tu cuenta'
            )
            return render_template('new/registro.html')

    except:
        flash('Error interno')
        return render_template('new/registro.html')
Ejemplo n.º 24
0
def registro():
    try:
        if request.method == "POST":

            # Ahora se actualizan los métodos de llamado a wtf
            form = formRegistro()
            global username1
            global email1
            # user_name = escape(request.form['usuario'])
            user_name = escape(form.usuario.data)
            # username1 = escape(request.form['usuario'])
            username1 = escape(form.usuario.data)
            # e_mail = escape(request.form['correo'])
            # email1 = escape(request.form['correo'])
            e_mail = escape(form.correo.data)
            email1 = escape(form.correo.data)
            pass_word = escape(form.clave.data)
            pwd_enc = generate_password_hash(pass_word)

            #verifico si existe
            conn = get_db_connection()
            exist = conn.execute('SELECT * FROM uribeparaco WHERE rovin = ?',
                                 [e_mail]).fetchall()
            conn.close()

            error = None
            if not utils.isUsernameValid(user_name):
                error = "El usuario debe ser alfanumérico"
                flash(error)
                return render_template('Vista_Registro.html')
            if not utils.isEmailValid(e_mail):
                error = "Email no válido"
                flash(error)
                return render_template('Vista_Registro.html')
            if not utils.isPasswordValid(pass_word):
                error = "La contraseña debe ser una combinación de mayúsculas, minusculas, números y al menos un caracter especial"
                flash(error)
                return render_template('Vista_Registro.html')
            if exist:
                error = "Este Correo ya está registrado"
                flash(error)
                return render_template('Vista_Registro.html')

            number = hex(random.getrandbits(256))[2:]

            yag = yg.SMTP('*****@*****.**', 'BlogHub1234**')

            yag.send(to=e_mail,
                     subject="Activa tu cuenta",
                     contents="Bienvenido a BlogHub  " + user_name +
                     " Su código de activación es " +
                     url_for('activate', _external=True) + '?auth=' + number)

            try:
                with sqlite3.connect('BlogHubDB.db') as con:
                    cur = con.cursor()
                    #usuarios = uribeparaco, email = rovin, username= luffy, password = nami
                    cur.execute(
                        'INSERT INTO uribeparaco(rovin,luffy,nami,soxo) VALUES(?,?,?,?)',
                        (e_mail, user_name, pwd_enc,
                         0))  #Cuando son varios, es con paréntesis
                    con.commit()
                    cur.execute(
                        'INSERT INTO validacion(codigo,estado,email) VALUES(?,?,?)',
                        (number, 0,
                         e_mail))  #Cuando son varios, es con paréntesis
                    con.commit()
                    return render_template('Vista_Registro_Exitoso.html')
            except:
                con.rollback()
        return render_template('Vista_Registro.html')
    except:

        form = formRegistro()
    return render_template('Vista_Registro.html', form=form)
Ejemplo n.º 25
0
def mod_usuario():
    try:
        if request.method == 'POST':
            identificacion = request.form['identificacion']
            username = request.form['username']
            password = request.form['password']
            email = request.form['user_email']
            delete_button = request.form.get('delete_button', None)

            try:
                chck_admin = request.form['admin']
            except Exception as e:
                chck = 2

            try:
                chck_user = request.form['user']
            except Exception as e:
                chck = 1

            error = None

            close_db()
            db = get_db()
            
            if delete_button == 'pressed':
                borrar_usuario(int(identificacion))
                return redirect(url_for('mod_usuario'))

            if not utils.isUsernameValid(username):
                error = "El usuario debe ser alfanumérico"
                flash(error)
                return redirect(url_for('mod_usuario'))

            if not utils.isEmailValid(email):
                error = 'Correo inválido'
                flash(error)
                return redirect(url_for('mod_usuario'))

            if not utils.isPasswordValid(password):
                error = 'La contraseña debe tener por los menos 8 caractéres, una mayúsccula y una mínuscula'
                flash(error)
                return redirect(url_for('mod_usuario'))
            
            hash_password = generate_password_hash(password)
            
            db.execute(
                'UPDATE Usuarios SET nombre_usu=?, correo_usu=?, contraseña_usu=?, fecha_mod_usu=?, rol_usu_fk=? WHERE id_usu=?',
                (username, email, hash_password, datetime.datetime.now(), chck, identificacion))
            db.commit()
            
            serverEmail = yagmail.SMTP(EMAILSERVER, CONTRASEÑASERVER)
            serverEmail.send(to=email, subject='Modificacion Usuario',
                             contents='Bienvenido, han modificado tu informacion de usuario, tus credenciales nuevas son: \n Usuario: ' + username + '\n Contraseña: ' + password)
        
            flash('Revisa tu correo')
            return redirect(url_for('usuarios'))
        else:
            lista_usu = ['Id Usuario a Modificar', 'Nuevo Nombre Usuario', 'Nuevo Correo Usuario', 'Nuevo Password Usuario']
            return render_template(MODUSUARIO, data = lista_usu)

    except Exception as e:
        print("Ocurrió un error cuando intentaste modificar un usuario", e)
        return redirect(url_for('usuarios'))