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'))
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"])
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)
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"])