def create():
    """Esta función crea una sesión"""
    #Creacion de nuevo objeto usuario sin atributos
    usuario = Usuario()
    #Extrer datos del formulario y asignarlo a atributos del objeto creado
    usuario.correo = request.form['correo']
    #Se pone el correo en minúsculas
    usuario.correo = usuario.correo.lower()
    usuario.password = request.form['password']
    #Se verifican las credenciales del usuario
    if usuario.inicio_de_sesion_valido():
        #Se establece que hay una sesión iniciada
        session['logged_in'] = True
        #Se busca al usuario actual
        current_user = Usuario.obtener(correo="*****@*****.**")
        #Se establece que el id del usuario que inició sesión
        session['current_user_id'] = current_user.id
        flash('Inicio de sesión exitoso.')
        #Se redirecciona la página de inicio
        return redirect(url_for('inicio_page.inicio'))
    #Si las credenciales no coinciden, no se inicia la sesión
    else:
        session['logged_in'] = False
        flash('Correo electrónico o contraseña incorrectos.')
        return render_template('login.html')
def index(estado):
    if session.get('logged_in'):
        usuario = Usuario.obtener(int(session['current_user_id']))
        pedidos = usuario.buscar_pedidos(estado)
        return render_template('pedidos/index.html', logged_in=session['logged_in'], pedidos = toJSON(pedidos), usuario = usuario.toJSON(), estado=estado)
    else:
        return redirect(url_for('inicio_page.inicio'), estado=estado)
def show(id_categoria):
    #Se obtiene el objeto Canasta a partir del id
    categoria = Categoria.obtener(id_categoria)
    #Se obtienen los productos dentro de esta categoría
    productos = Producto.listar_productos_nombre(id_categoria = categoria.id)
    if session.get('logged_in') == True:
        usuario = Usuario.obtener(session['current_user_id'])
        return render_template('productos/index.html', resultados = toJSON(productos), usuario=usuario.toJSON(), categoria = categoria.toJSON())
    else:
        session["current_user_id"] = 0
        session["logged_in"] = False
        return render_template('productos/index.html', logged_in = session["logged_in"], current_user_id = session["current_user_id"], resultados = toJSON(productos), categoria = categoria.toJSON())
def show(id_pedido):
    #Si el usuario está logeado, se busca el pedido
    if session.get('logged_in'):
        #Se obtiene el objeto Pedido a partir del id
        pedido = Pedido.obtener(id_pedido)
        usuario = Usuario.obtener(int(session['current_user_id']))
        productos_por_pedido = pedido.buscar_productos_por_pedido()
        return render_template('pedidos/show.html', pedido=pedido.toJSON(), productos_por_pedido = toJSON(productos_por_pedido), usuario = usuario.toJSON())
    else:
        session["logged_in"] = False
        session["current_user_id"] = 0
        return redirect(url_for('inicio_page.inicio'))
Exemple #5
0
def inicio():
    categorias = Categoria.todas()
    session["categorias"] = toJSON(categorias)
    if session.get('logged_in') == True:
        usuario = Usuario.obtener(session["current_user_id"])
        return render_template('welcome/index.html',
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"],
                               usuario=usuario.toJSON())
    else:
        session["logged_in"] = False
        session["current_user_id"] = 0
        return render_template('welcome/index.html',
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"])
Exemple #6
0
def buscar_productos_por_palabra_clave():
    """Este método se encarga de la búsqueda por palabras claves"""

    #Texto a buscar extraído del formulario
    texto_a_buscar = request.form['texto_a_buscar']
    #id_categoria extraido del formulario, debe ser un número
    id_categoria = int(request.form['id_categoria'])

    #Si la búsqueda sea en blanco y la categoria también, se muestran todos los productos
    if (texto_a_buscar == None or texto_a_buscar
            == "") and (id_categoria == 0 or id_categoria == None):
        lista_productos = Producto.listar_productos_nombre()
    #Si la búsqueda es en blanco pero la categoría no, se muestran todos los productos dentro de esta categoría
    elif (texto_a_buscar == None or texto_a_buscar == "") and id_categoria > 0:
        lista_productos = Producto.listar_productos_nombre(
            id_categoria=id_categoria)
    #Si la búsqueda no es en blanco y no se seleccione una categoría, se muestran los productos que coinciden con la búsqueda en cualquier categoria.
    elif (texto_a_buscar != None
          and texto_a_buscar != "") and (id_categoria == None
                                         or id_categoria == 0):
        lista_productos = Producto.listar_productos_nombre(
            cadena_a_buscar=texto_a_buscar)
    #Si la búsqueda no es en blanco y se selecciona una categoría, se muestran los productos que coinciden con la búsqueda en la categoría seleccionada.
    elif (texto_a_buscar != None
          and texto_a_buscar != "") and id_categoria > 0:
        lista_productos = Producto.listar_productos_nombre(
            cadena_a_buscar=texto_a_buscar, id_categoria=id_categoria)

    #Finalmente, se retornan los resultados de la búsqueday el resultado de la búsqueda en el view index.html
    if session.get('logged_in') == True:
        usuario = Usuario.obtener(session['current_user_id'])
        return render_template('productos/index.html',
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"],
                               resultados=toJSON(lista_productos),
                               texto_a_buscar=texto_a_buscar,
                               usuario=usuario.toJSON())
    else:
        session["current_user_id"] = 0
        session["logged_in"] = False
        return render_template('productos/index.html',
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"],
                               resultados=toJSON(lista_productos),
                               texto_a_buscar=texto_a_buscar)
Exemple #7
0
def show():
    #Si el usuario está logeado, se busca su canasta
    if session.get('logged_in'):
        canasta = Canasta.obtener(session['current_user_id'])
        usuario = Usuario.obtener(session['current_user_id'])
        productos_por_canasta = canasta.buscar_productos_por_canasta()
        return render_template(
            'show.html',
            productos_por_canasta=toJSON(productos_por_canasta),
            canasta=canasta.toJSON(),
            usuario=usuario.toJSON())
    #Si el usuario no está logeado, no se buscará ninguna canasta
    else:
        session["logged_in"] = False
        session["current_user_id"] = 0
        return render_template('show.html',
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"])
def show(id_producto):
    #Se obtiene el objeto Producto a partir del id
    producto = Producto.obtener(id_producto)

    if session.get('logged_in') == True:
        usuario = Usuario.obtener(session["current_user_id"])
        #Se pasan los atributos del producto y del usuario como un JSON
        return render_template('/productos/show.html',
                               producto=producto.toJSON(),
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"],
                               usuario=usuario.toJSON())

    else:
        session["logged_in"] = False
        session["current_user_id"] = 0
        #Se pasan los atributos del producto como un JSON
        return render_template('/productos/show.html',
                               producto=producto.toJSON(),
                               logged_in=session["logged_in"],
                               current_user_id=session["current_user_id"])