Esempio n. 1
0
def render_cart():
    meals = []

    if 'cart' not in session:
        session['cart'] = []
    for i in session['cart']:
        meal = db.session.query(Meal).get(i)
        meals.append(meal)

    cart_form = CartForm()
    if not cart_form.is_submitted() and 'is_auth' in session:
        client = db.session.query(User).get(session['user_id'])
        cart_form.client_name.data = client.name
        cart_form.client_address.data = client.address
        cart_form.client_mail.data = client.mail
        cart_form.client_phone.data = client.phone

    if cart_form.validate_on_submit():
        order = Order(order_date=date.today().isoformat(),
                      order_sum=session['total'],
                      phone=cart_form.client_phone.data,
                      address=cart_form.client_address.data,
                      mail=cart_form.client_mail.data,
                      user_id=session['user_id'])

        for meal_id in session['cart']:
            meal = db.session.query(Meal).get(meal_id)
            order.meals.append(meal)

        db.session.add(order)
        db.session.commit()
        session['cart'] = []
        session['total'] = 0

        return redirect(url_for('store.render_ordered'))

    return render_template('cart.html', meals=meals, form=cart_form)