def carrito_add(id): art = Articulos.query.get(id) form = formCarrito() form.id.data = id if form.validate_on_submit(): if art.stock >= int(form.cantidad.data): try: datos = json.loads(request.cookies.get(str(current_user.id))) except: datos = [] actualizar = False for dato in datos: if dato["id"] == id: dato["cantidad"] = form.cantidad.data actualizar = True if not actualizar: datos.append({ "id": form.id.data, "cantidad": form.cantidad.data }) resp = make_response(redirect(url_for('inicio'))) resp.set_cookie(str(current_user.id), json.dumps(datos)) return resp form.cantidad.errors.append("No hay artículos suficientes.") return render_template("carrito_add.html", form=form, art=art)
def carrito_add(id): articulo = Articulos.query.get(id) form = formCarrito() form.id.data = id # Pasamos el id al campo oculto (por debajo, sin mostrar nada...) if form.validate_on_submit(): #POST if articulo.stock >= int(form.cantidad.data): try: datos = json.loads(request.cookies.get(str(current_user.id)) ) # Obtenemos la cookie de ese user en json except: datos = [] actualizar = False for dato in datos: if dato["id"] == id: # El articulo ya estaba en el carrito y hay que actualizar la cantidad dato["cantidad"] = form.cantidad.data actualizar = True if not actualizar: # Al no estar en el carrito lo añadimos (a las cookies) datos.append({ "id": form.id.data, "cantidad": form.cantidad.data }) resp = make_response(redirect(url_for('inicio'))) resp.set_cookie(str(current_user.id), json.dumps(datos)) return resp form.cantidad.errors.append("No hay articulos suficientes") return render_template("carrito_add.html", form=form, articulo=articulo)