Esempio n. 1
0
def bBasico(userN):
    prod = fOP.firestorCRUD()
    lista = prod.readFunkosLineaBusqueda(1)
    data = []
    for x in lista:
        data.append({'nombre': x})
    with open('static/json/jsonF4.json', 'w') as outfile:
        json.dump(data, outfile)

    if request.method == 'POST':
        nombre = request.form['nombre']
        numero = request.form['numero']
        linea = request.form['linea']
        prod = fOP.firestorCRUD()
        resultados = prod.busquedaBasica(linea, numero, nombre, 1)
        print("resultados", linea, "-", numero)

        print(resultados)
        if not resultados:
            return redirect(url_for('nofunko'))
        else:
            search = resultados[0]
            return redirect(url_for('mostrarMapa', userN=userN, idFunko=search))

    return render_template('busq_basic.html', linea=lista)
Esempio n. 2
0
def inv(userN):
    prod = fOP.firestorCRUD()
    listaF = prod.readFunkos(userN)
    if request.method == 'POST':
        if request.form.get("update"):
            id = request.form['id']
            precio = request.form['precio']
            stock = request.form['stock']
            todo_funkos.document(userN).collection("Dfunkos").document(
                id).update({u'Precio': precio})
            todo_funkos.document(userN).collection("Dfunkos").document(
                id).update({u'Stock': stock})
            return redirect(url_for("inv", userN=userN))

        if request.form.get("add"):
            id = request.form['id']
            num = request.form['num']
            nombre = request.form['nombre']
            linea = request.form['linea']
            coleccion = request.form['coleccion']
            serie = request.form['serie']
            motivo = request.form['motivo']
            stock = request.form['stock']
            precio = request.form['precio']
            exclusivo = request.form['exclusivo']

            data = {
                "id": id,
                "Num. Funko": num,
                "Exclusivo": exclusivo,
                "Nombre": nombre,
                "Linea": linea,
                "Coleccion": coleccion,
                "Serie": serie,
                "Motivo": motivo,
                "Stock": stock,
                "Precio": precio,
                "Imagen": "img"
            }
            todo_funkos.document(userN).collection("Dfunkos").document(id).set(
                data)

            return redirect(url_for("inv", userN=userN))
        if request.form.get("delete"):
            id = request.form.get("id")
            prod = fOP.firestorCRUD()
            prod.delete(userN, id)
            return redirect(url_for("inv", userN=userN))

    return render_template('basic-table.html', rows=listaF)
Esempio n. 3
0
def bAvanzada(userN):
    if request.method == 'POST':
        nombre = request.form['nombre']
        numero = request.form['numero']
        linea = request.form['linea']
        coleccion = request.form['coleccion']
        valC = "as"
        if coleccion.isnumeric():
            valC = int(coleccion)
        else:
            valC = coleccion
        motivo = request.form['motivo']
        prod = fOP.firestorCRUD()
        resultados = prod.busquedaBasicaA(
            linea, numero, nombre, valC, motivo, 1)
        print("resultados", linea, "-", numero, "-", coleccion, "-", motivo)

        print(resultados)
        if not resultados:
            return redirect(url_for('nofunko'))
        else:
            search = resultados[0]
            return redirect(url_for('mostrarMapa', userN=userN, idFunko=search))

    return render_template('busq_adv.html')
Esempio n. 4
0
def login():

    # json_array = f
    # for item in json_array:
    #     todo_funkos.document("LkGLl07Zc8ImYN7xWvfv").collection("Dfunkos").document(item["id"]).set(item)

    prod = fOP.firestorCRUD()
    listaF = prod.readFunkos("LkGLl07Zc8ImYN7xWvfv")
    prod.print(listaF)

    # all_todos = [doc.to_dict() for doc in todo_funkos.document("LkGLl07Zc8ImYN7xWvfv").collection("Dfunkos").stream()]

    # for f in all_todos:
    #     print(f['id'])

    if request.method == 'POST':

        print(request.form['log'])

        if request.form['log'] == "log":
            username = request.form['username']
            password = request.form['password']

            if "@" in username:
                user = auth.sign_in_with_email_and_password(username, password)
                userId = user['localId']
                print(userId)
                valor = todo_ref.document(userId[:100]).get({u'partner'})
                bal = u'{}'.format(valor.to_dict()['partner'])
                print("asf: ", bal)
                objeto = "valor"
                listTienda = todo_ref.document(
                    userId[:100]).collection('Tienda').limit(1).get()
                for d in listTienda:
                    idTienda = u'{}'.format(d.to_dict()['id'])
                print(objeto)
                if bal == "true":

                    return redirect(url_for("inv", userN=idTienda))

            else:
                if todo_refUser.document(username).get().exists:
                    val = todo_refUser.document(username).get({u'uid'})
                    bal = u'{}'.format(val.to_dict()['uid'])
                    print("hj: ", bal)
                    user = auth.sign_in_with_email_and_password(bal, password)
                    if user:
                        return redirect(url_for('home'))
                    else:
                        print("invalid pass")
                else:
                    print("noexiste")

        elif request.form['log'] == "reg":
            return redirect(url_for('signClient'))
        else:
            return redirect(url_for('signPartner'))

    return render_template('login_new.html')
Esempio n. 5
0
def home(userN):
    prod = fOP.firestorCRUD()
    data = []

    listaF = prod.readFunkosS("1")
    with open('static/json/json.json', 'w') as outfile:
        json.dump(listaF, outfile)

    if request.method == 'POST':
        search = request.form['Buscador']
        print("el codigo es", search)
        session['search'] = search
        return redirect(url_for("mostrarMapa", userN=userN, idFunko=search))

    return render_template('LandingPage.html', rows=listaF, username=userN)
Esempio n. 6
0
def mostrarMapa(userN, idFunko):

    if request.method == 'POST':
        print("entro a post")
        my_var = idFunko
        nombre = request.form['codT']
        precio = request.form['precio']

        # valoD = todo_funkosDB.document(nombre).get({u'dir'})
        # balD = u'{}'.format(valoD.to_dict()['dir'])

        # print("El nombre es", nombre)
        return redirect(url_for('mostrarInfo', userN=userN, idFunko=my_var, nombre=nombre, precio=precio, funko=my_var))

    else:
        my_var = idFunko
        print("paso correwcto: ", my_var)
        prod = fOP.firestorCRUD()
        res = prod.readFunkosMap(my_var)
        valor = todo_funkosDB.document(my_var).get({u'Imagen'})
        bal = u'{}'.format(valor.to_dict()['Imagen'])
        print(res)
        data = []
        fLat = 0
        fLng = 0
        for doc in res:
            fLat = doc.lat
            fLng = doc.lng
            item = {"icon": 'http://maps.google.com/mapfiles/ms/icons/green-dot.png',
                    'lat': doc.lat,
                    'lng': doc.lng,
                    'infobox':
                    '<style>' +
                        '.button {' +
                    'background-color: #4CAF50; ' +
                    'border: none;' +
                    'color: white;' +
                    'padding: 10px;' +
                    'text-align: center;' +
                    'text-decoration: none;' +
                    'display: inline-block;' +
                    'font-size: 10px;' +
                    'margin: 4px 2px;' +
                    'cursor: pointer;' +
                        '}' +

                        '.button1 {border-radius: 2px;}' +
                        'input {' +
                            'border: none;' +
                            'background: transparent;' +
                        '}' +
                        '</style>' +

                    '<div class="card">' +
                    '<img src="https://cdn.shopify.com/s/files/1/0057/8630/4600/files/white_180x.jpg?v=1587504232" alt="Avatar" style="width:100%">' +

                    '<div class="container">' +
                    '<form id="SS" method="POST">' +
                        '<h4><input type="text" name="nombre" value="'+doc.nombre+'"></h4>' +
                        '<h4><input type="text" style="display:none;" name="codT" value="'+doc.codT+'"></h4>' +
                        '<p>El precio es: <input type="text" name="precio" value="'+doc.precio+'"></p>' +
                        '<button type="submit" value="Submit" class="button button1">Reservar</button>' +
                    # '</form>'
                        '</form>'
                    '</div>' +
                    '</div>'

                    # "<h1>"+doc.nombre+"</h1>" +
                    # "<p>El precio es: " + doc.stock + "</p>"

                    }
            data.append(item)
        sndmap = Map(
            identifier="sndmap",
            style="height:100%;width:100%;margin:0;",
            lat=fLat,
            lng=fLng,
            markers=data
        )

        return render_template('MapLocation.html', username=userN, sndmap=sndmap, img=bal)
Esempio n. 7
0
def inv(userN):
    error = None
    prod = fOP.firestorCRUD()
    nT = userN[3:]
    listaF = prod.readFunkos(userN)
    listaF2 = prod.readFunkosLinea("1")
    listaF3 = prod.readFunkosMotivo("1")

    data = []
    data2 = []
    for a in listaF2:
        # print(a.nombre)
        # print(a.serie)
        dataE = []

        for b in a.serie:
            dataE.append({'nombre': b})
        data.append({
            'nombre': a.nombre,
            'serie': dataE}
        )
    with open('static/json/jsonF2.json', 'w') as outfile:
        json.dump(data, outfile)

    for x in listaF3:
        data2.append({'nombre': x.nombre})

    with open('static/json/jsonF3.json', 'w') as outfile:
        json.dump(data2, outfile)

    if request.method == 'POST':
        if request.form.get("update"):
            id = request.form['id']
            precio = request.form['precio']
            stock = request.form['stock']
            todo_funkos.document(userN).collection(
                "Dfunkos").document(id).update({u'Precio': precio})
            todo_funkos.document(userN).collection(
                "Dfunkos").document(id).update({u'Stock': stock})
            return redirect(url_for("inv", userN=userN))

        if request.form.get("add"):
            # id = request.form['id']
            num = request.form['num']
            # nombre = request.form['nombre']
            linea = request.form['linea']
            coleccion = request.form['coleccion']
            # serie = request.form['serie']

            motivo = request.form['motivo']
            stock = request.form['stock']
            precio = request.form['precio']

            if motivo[0] == "-":
                motivo = "0"
            id = linea[0] + num + coleccion[0] + motivo[0]
            print("se genero id : ", id)

            bal1 = "vacio"
            valor3 = todo_funkosDB.document(id).get({u'Nombre'})
            print("el nombre es: ", valor3)
            if valor3.exists:
                bal1 = u'{}'.format(valor3.to_dict()['Nombre'])
            if bal1 != "vacio":
                data = {
                    "id": id,
                    "Numero": num,
                    "Exclusivo": 1,
                    "Nombre": bal1,
                    "Linea": linea,
                    "Coleccion": coleccion,
                    "Serie": 1,
                    "Motivo": motivo,
                    "Stock": int(stock),
                    "Precio": precio,
                    "Imagen": "img"

                }
                my_var = session.get('id', None)

                rLat = prod.getLat(my_var, userN)
                rLng = prod.getLng(my_var, userN)

                dataDB = {
                    "nombreT": nT,
                    "precio": precio,
                    "lat": rLat,
                    "lng": rLng,
                    "codT": userN
                }
                todo_funkos.document(userN).collection(
                    "Dfunkos").document(id).set(data)
                todo_funkosDB.document(id).collection(
                    "Tiendas").document(userN).set(dataDB)
                return redirect(url_for("inv", userN=userN))
            else:
                error = 'La combinacion redirecciona a un funko no existente'

        if request.form.get("delete"):
            id = request.form.get("id")
            prod = fOP.firestorCRUD()
            prod.delete(userN, id)
            return redirect(url_for("inv", userN=userN))

        if request.form.get("sout"):
            # auth.current_user = None
            # print(auth.get_account_info(user['idToken']))
            return redirect(url_for("login"))

    return render_template('basic-table.html', rows=listaF, nt=nT, error=error, user=userN)