Beispiel #1
0
def crearNuevaClave(Validador,Token):
    objEmail = Email()
    token = str(Token)
    validador = str(Validador)
    objEmail.setToken(token)
    objEmail.setValidador(validador)

    if token != None and validador != None and request.method == "GET":
        if objEmail.enlaceValido():
            return render_template("recuperarClave/crearNuevaClave.html")
    elif request.method == "POST":
        print(token)
        print(validador)
        objEmail.setToken(token)
        objEmail.setValidador(validador)
        email = objEmail.getEmail()
        objEnc = Encriptador()
        objUsuario = Usuario()
        clave = objEnc.Encriptar(str(request.form['claveNueva']))
        objUsuario.setPass(clave)
        objUsuario.setEmail(email)

        if objUsuario.cambiarClave():
            objEmail.setCorreo(email)
            objEmail.eliminarPrevios()
            return "Exito"
        else:
            return "Error"

    return redirect(url_for('inicio.index'))
Beispiel #2
0
def loginEmp():
    if "Tipo" in session:
        return redireccionarUsuario()

    if request.method == 'POST':
        objUsuario = Usuario()
        objEnc = Encriptador()
        email = request.form['email']
        contra = objEnc.Encriptar(str(request.form['contra']))

        try:
            objUsuario.setEmail(email)
            objUsuario.setPass(contra)
            usuario = objUsuario.validarUsuario(1)
            # print(usuario)
            if len(usuario) > 0:
                if usuario[0][7]:
                    return jsonify({'redirect': 'usuarioLogueado'})
                else:
                    session["last_active"] = dt.datetime.now()
                    session["ID"] = usuario[0][0]
                    session["Nombre"] = usuario[0][1]
                    session["Cedula"] = usuario[0][2]
                    session["Email"] = usuario[0][3]
                    session["Contra"] = usuario[0][4]
                    session["Avatar"] = usuario[0][5]
                    session["Activo"] = usuario[0][6]
                    session["Empresa"] = usuario[0][8]
                    session["Tipo"] = usuario[0][9]
                    session["Departamento"] = usuario[0][10]
                    if usuario[0][9] == 1:
                        return jsonify(
                            {'redirect': url_for('admin.cPanelAdmin')})
                    elif usuario[0][9] == 2:
                        return jsonify(
                            {'redirect': url_for('gerente.cPanelGerente')})
                    elif usuario[0][9] == 3:
                        return jsonify(
                            {'redirect': url_for('asignador.cPanelAsignador')})
                    elif usuario[0][9] == 4:
                        return jsonify(
                            {'redirect': url_for('empleado.cPanelEmpleado')})
            else:
                raise Exception("Usuario no encontrado")
        except:
            return jsonify({'redirect': 'error'})
    else:
        return render_template('loginEmpleado.html')
Beispiel #3
0
def registroEmpresa():
    if "Tipo" in session:
        return redireccionarUsuario()

    if request.method == "GET":
        return render_template('registroEmpresa.html')
    elif request.method == "POST":
        objEnc = Encriptador()
        objUsuario = Usuario()
        objEmp = Empresa()

        nombreEmpresa = str(request.form['nombreEmp'])
        direccion = str(request.form['direccion'])
        telefono = str("+506" + request.form['telefono'])
        nombreUsuario = str(request.form['usuario'])
        cedula = str(request.form['cedula'])
        email = str(request.form['email'])
        contra = objEnc.Encriptar(str(request.form['contra']))

        objEmp.setEmpresa(nombreEmpresa, direccion, telefono, 2)
        if objEmp.agregarEmpresa():
            idUltimo = int(objEmp.getUltimoID())
            objUsuario.setUsuario(nombreUsuario, cedula, email, contra, 5,
                                  idUltimo, 0)
            if objUsuario.AgregarUsuario():
                usuario = objUsuario.validarUsuario(2)
                session["last_active"] = dt.datetime.now()
                session["ID"] = usuario[0][0]
                session["Nombre"] = usuario[0][1]
                session["Cedula"] = usuario[0][2]
                session["Email"] = usuario[0][3]
                session["Contra"] = usuario[0][4]
                session["Avatar"] = usuario[0][5]
                session["Activo"] = usuario[0][6]
                session["Empresa"] = usuario[0][8]
                session["Tipo"] = usuario[0][9]
                session["Departamento"] = usuario[0][10]
                return "Exito"

        return "Error"
Beispiel #4
0
def perfil(ID):
    # print(ID)
    if "ID" in session:
        objUsuario = Usuario()
        objBitacora = Bitacora()
        objConfig = ConfiguracionCorreo()
        bitacora = objBitacora.listarBitacora()
        listaConfig = objConfig.listarConfigCorreo()
        objUsuario.setID(int(ID))
        usuario = objUsuario.getInfoUsuario()
        objEnc = Encriptador()
        if request.method == "GET" and str(ID) == str(session['ID']):
            objEnc = Encriptador()
            if len(usuario) > 0:
                contra = objEnc.Desencriptar(str(usuario[0].Password))
                return render_template('perfil.html',usuario=usuario[0], contra=contra, listaConfig=listaConfig, bitacora=bitacora)

        elif request.method == "POST" and str(ID) == str(session['ID']):
            boolImg = True
            imagen = ""

            if request.files:
                imagen = request.files["avatar"]
                if not imagenPermitida(imagen.filename):
                    boolImg = False
                else:
                    if str(usuario[0].Avatar) != "default-user.jpg":
                        os.remove(os.path.join(app.config['IMAGE_UPLOADS'],str(usuario[0].Avatar)))
                    ext = imagen.filename.rsplit(".",1)[1]
                    nombreArchivo = str(uuid.uuid4().hex+"."+ext)
                    objUsuario.setAvatar(str(nombreArchivo))

            if boolImg:

                objUsuario.setNombre(request.form['nombre'])
                objUsuario.setCedula(request.form['cedula'])
                objUsuario.setEmail(request.form['email']) 
                objUsuario.setIDEmpresa(int(session['Empresa']))
                objUsuario.setTipo(int(session['Tipo']))
                objUsuario.setID(int(session['ID']))
                objUsuario.setContra(objEnc.Encriptar(str(request.form['contra'])))
                
                if objUsuario.modificarPerfil():
                    if imagen != "":
                        imagen.save(os.path.join(app.config['IMAGE_UPLOADS'],nombreArchivo))
                        session["Avatar"] = nombreArchivo
                    return "Exito"
                else:
                    return "Error"
        else:
            return redirect(url_for('inicio.index'))
    else:
        return redirect(url_for('inicio.index'))
Beispiel #5
0
def modificarUsuario(ID):
    if "ID" in session and session['Tipo'] in [1,2,5] and str(ID) != str(session['ID']):
        objEmp = Empresa()
        objDep = Departamento()
        objEnc = Encriptador()
        objEmpDep = EmpresaDepartamento()
        objUsuario = Usuario()

        try:
            ID = int(ID)
        except:
            return redirect(url_for('inicio.index'))

        objUsuario.setID(ID)
        usuario = objUsuario.getInfoUsuario()
        empresas = objEmp.ListarEmpresasXEstado(1)
        if request.method == "GET":
            if len(usuario) > 0:
                deps = objEmpDep.ListarDepartamentosEmp(int(usuario[0].IdEmpresa))
                contra = objEnc.Desencriptar(str(usuario[0].Password))
                return render_template('modificarUsuario.html',usuario=usuario[0], contra=contra, empresas=empresas, departamentos=deps, usuarioActual=session['Tipo'])

        elif request.method == "POST":
            boolImg = True
            imagen = ""

            if request.files:
                imagen = request.files["avatar"]
                if not imagenPermitida(imagen.filename):
                    boolImg = False
                else:
                    print(imagen.filename)
                    if str(usuario[0].Avatar) != "default-user.jpg":
                        os.remove(os.path.join(app.config['IMAGE_UPLOADS'],str(usuario[0].Avatar)))
                    ext = imagen.filename.rsplit(".",1)[1]
                    nombreArchivo = str(uuid.uuid4().hex+"."+ext)
                    objUsuario.setAvatar(str(nombreArchivo))

            if boolImg:

                idEmp = request.form['empresa'].rsplit('-')[0]
                idDep = request.form['departamento'] if request.form['departamento'] != 'null' else 0
                tipo = int(request.form['tipo'])
                objUsuario.setNombre(request.form['nombre'])
                objUsuario.setCedula(request.form['cedula'])
                objUsuario.setEmail(request.form['email']) 
                url = request.form['url']
                
                if int(session['Tipo']) == 2:
                    if tipo in[1,2,5,6]:
                        return "Error"
                elif int(session['Tipo']) == 5:
                    if tipo in [1,2,3,4,5]:
                        return "Error"
                elif int(session['Tipo']) in [3,4,6]:
                    return "Error"

                objUsuario.setTipo(tipo)
                objUsuario.setIdDep(int(idDep))
                objUsuario.setIDEmpresa(int(idEmp))
                objUsuario.setID(int(request.form['id']))

                if tipo == 2 and objUsuario.existeTipoUsuario():
                    return "Gerente Existe"
                elif tipo == 5 and objUsuario.existeTipoUsuario():
                    return "ClienteM Existe"


                objUsuario.setContra(objEnc.Encriptar(str(request.form['contra'])))
                
                objEmp.setID(idEmp)
                objDep.setID(idDep)
                depDestino = objDep.consultarID() if len(objDep.consultarID()) > 0 else 0
                empDestino = objEmp.consultarID() if len(objEmp.consultarID()) > 0 else 0

                depActivo = True
                empActiva = True

                if depDestino != 0:
                    if depDestino[0].Activo == 0:
                        depActivo = False

                if empDestino != 0:
                    if empDestino[0].Activo == 0:
                        empActiva = False

                if depActivo and empActiva:
                    if objUsuario.modificarPerfil():
                        if imagen != "":
                            imagen.save(os.path.join(app.config['IMAGE_UPLOADS'],nombreArchivo))
                        return "Exito"
                    else:
                        return "Error"
                else:
                    return "inactivo"

    return redirect(url_for('inicio.index'))
Beispiel #6
0
def agregarUsuario():
    if request.method == 'POST' and "ID" in session:
        objUsuario = Usuario()
        objEnc = Encriptador()
        boolImg = True
        imagen = ""
        nombre = request.form['nombre']
        cedula = request.form['cedula']
        email = request.form['email']
        contra = objEnc.Encriptar(str(request.form['contra']))

        if session['Tipo'] == 1:
            tipo = int(request.form['tipo'])
            tipoEmp = int(request.form['tipoEmp'])
            empresa = request.form['empresa']
            dep = int(request.form['departamento']) if int(request.form['departamento'] != 0) else 0
        elif session['Tipo'] == 5:
            empresa = int(session['Empresa'])
            dep = 0
            tipo = 6
        elif session['Tipo'] == 2:
            tipo = int(request.form['tipo'])
            empresa = int(session['Empresa'])
            dep = int(session['Departamento'])

        if int(session['Tipo']) == 2:
            if tipo not in[3,4]:
                return "Error"
        elif int(session['Tipo']) == 5:
            if tipo != 6:
                return "Error"

        if tipo in [2,3,4] and dep == 0:
            return "Error"

        if request.files:
            imagen = request.files["avatar"]
            if not imagenPermitida(imagen.filename):
                boolImg = False
            else:
                ext = imagen.filename.rsplit(".",1)[1]
                nombreArchivo = str(uuid.uuid4().hex+"."+ext)
                objUsuario.setAvatar(str(nombreArchivo))
        
        if boolImg:
            if session['Tipo'] == 1:
                if tipoEmp == 2 and (tipo != 5 and tipo != 6):
                    return "Error"
                elif tipoEmp == 1 and (tipo == 5 or tipo == 6):
                    return "Error"

            objUsuario.setUsuario(nombre,cedula,email,contra,tipo,empresa,dep)

            if tipo == 2 and objUsuario.existeTipoUsuario():
                return "Gerente Existe"
            elif tipo == 5 and objUsuario.existeTipoUsuario():
                return "ClienteM Existe"

            if objUsuario.AgregarUsuario():
                if imagen != "":
                    imagen.save(os.path.join(app.config['IMAGE_UPLOADS'],nombreArchivo))
                return "Exito"
            else:
                return "Error"
        else:
            return "Error"
    else:
        return redirect(url_for('inicio.index'))