def cart(): items = [] total = 0 for item_id, quantity in session['cart'].items(): item = Item.find_by_id(item_id) item_details = item.json() item_details['subtotal'] = quantity * item_details['price'] items.append(item_details) total += item_details['subtotal'] return render_template('cart.html', items=items, total=total)
def edit_item(item_id): item = Item.find_by_id(item_id) if request.method == 'POST': name = request.form['name'] price = request.form['price'] description = request.form['description'] image_url = request.form['image_url'] subcategory = request.form['subcategory'] item.name = name item.price = int(price) item.description = description item.image_url = image_url item.category = subcategory item.save_to_mongo() return redirect(url_for('.items')) return render_template('admin/edit_item.html', item=item)
def checkout(): if request.method == 'POST': items = session['cart'] name = request.form['name'] contact_number = request.form['contactNumber'] birthdate = datetime.strptime(request.form['birthdate'], '%b-%d-%Y') address = request.form['address'] landmarks = request.form['landmarks'] notes = request.form['notes'] total_price = request.form['total'] delivery = request.form['delivery'] customer = Customer(name, contact_number, birthdate, address, landmarks) if not customer.is_in_legal_age(): return redirect(url_for('error', error_code=2)) customer.save_to_mongo() order = Order(customer._id, items, total_price, delivery, notes) order.save_to_mongo() order.send_notification() initialize_cart() return redirect(url_for('.acknowledge_order', order_id=order._id)) items = [] total = 0 for item_id, quantity in session['cart'].items(): item = Item.find_by_id(item_id) item_details = item.json() item_details['subtotal'] = quantity * item_details['price'] items.append(item_details) total += item_details['subtotal'] return render_template('checkout.html', items=items, total=total)
def display_item(item_id): item = Item.find_by_id(item_id) return render_template('product.html', item=item)
def delete_item(item_id): Item.find_by_id(item_id).delete() return redirect(url_for('.items'))