Ejemplo n.º 1
0
 def loginAdmin(self):
     """Metodo que ingresa un usuario"""
     valido = self.ui.lineEdit_user.text().lstrip()
     valido1 = self.ui.lineEdit_pass.text().lstrip()
     if(len(valido) is 0 or len(valido1) is 0):
         self.errorMessage(u"""Revise los campos obligatorios.""")
     else:
         rutValido = controlador_login.validaRut(self.ui.lineEdit_user.text())
         if(rutValido):
             mensaje = controlador_login.obtenerUsuario(self.ui.lineEdit_user.text(), self.ui.lineEdit_pass.text())
             if mensaje is None:
                 self.errorMessage(u"""Error inesperado, intente nuevamente.""")
             else:
                 user = controlador_login.obtenerUsuarioRut(self.ui.lineEdit_user.text())
                 #Entra si se retorna la consulta de BD y se solicita cambiar la pass
                 if mensaje == True and self.notificacion == True:
                     self.close()
                     self.main2 = cambiar_Pass(user[0].rut)
                     self.main2.exec_()
                     self.main = MainWindow()
                     self.main.show()
                     self.setVisible(False)
                     self.notificacion = False
                 #Entra si se retorna la consulta de BD y esta es verdadera
                 elif mensaje == True and self.notificacion == False:
                     self.close()
                     self.main = MainWindow()
                     self.main.show()
                     self.setVisible(False)
                 else:
                     self.correctMessage(u"""Contraseña incorrecta""")
         else:
             self.correctMessage(u"""Usuario incorrecto""")    
Ejemplo n.º 2
0
 def randomPass(self):
     """Modifica la clave del usuario de rut = ?, con una clave aleatoria"""
     usuario_rut = controlador_login.obtenerUsuarioRut(
         self.ui.lineEdit_user.text())
     rut = usuario_rut[0].rut
     longitud = 10
     valores = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
     claveTemp = ""
     claveTemp = claveTemp.join([choice(valores) for i in range(longitud)])
     self.enviarEmail(claveTemp)
     crypt = c.CryptoRAF()
     clave_encriptada = crypt.encrypt(claveTemp,"hjjdhjfsdf987f3k4j54hj345kjh24k4jbfiyf94i3h9")
     controlador_login.modificarClaveUsuario(clave_encriptada, rut)
Ejemplo n.º 3
0
    def enviarEmail(self, clave):
        """
        Envia un email al correo electronico con la contraseña para poder ingresar, si esta se le olvida.
        Se crea una contraseña aleatoria la cual se envia al correo y se almacena en la base de datos,
        con motivo de no tener acceso a la contraseña real del usuario.
        """
        self.notificacion = True   #Booleano para saber si se recupero contraseña o no, y pedir nueva contraseña al inciar el sistema.
        usuario_rut = controlador_login.obtenerUsuarioRut(
            self.ui.lineEdit_user.text())
        destinatario = usuario_rut[0].email
        self.correctEmailMessage(u"Se envio su contraseña al \ncorreo electrónico: \n" + usuario_rut[0].email)
        user = "******"
        password = "******"
        #para las cabeceras del email
        remitente = "*****@*****.**"
        asunto = "Recuperacion contraseña"
        mensaje = ("Su contraseña es: " + clave)
        #Host y puerto SMTP de Gmail
        gmail = smtplib.SMTP('smtp.gmail.com', 587)
        #protocolo de cifrado de datos utilizado por gmail
        gmail.starttls()
        #credenciales
        gmail.login(user, password)
        #muestra la depuracion de la operacion de envío (1 = true)
        gmail.set_debuglevel(1)
        
        header = MIMEMultipart()
        header['Subject'] = asunto
        header['From'] = remitente
        header['To'] = destinatario

        mensaje = MIMEText(mensaje, 'html')
        header.attach(mensaje)
        #Enviar email
        gmail.sendmail(remitente, destinatario, header.as_string())
        #cerrar conexion SMTP
        gmail.quit()