コード例 #1
0
ファイル: views.py プロジェクト: afoninv/jewelry_retail
def cart_add_suite(request, form, item):
    cart = request.session.get('cart') or []
    cart_sum = request.session.get('cart_sum') or 0
    cart_count = request.session.get('cart_count') or 0

    suite_price = 0
    suite_gems = []
    for article in form.cleaned_data['suite_contents']:
        suite_price += article.price
        if article.gem_summary(): suite_gems.append(article.gem_summary())

    # Discount for suites. It works, but we decided not to implement it yet.
    # suite_price = int(suite_price * (100.0 + item.get_factor()) / 100)

    suite = OrderItem(item_id=item.id, name=item.name, j_type=item.j_type(), quantity=1, price=suite_price, gender=item.gender, metal=item.metal, gems=u';'.join(suite_gems), supplier=item.supplier, site_description=item.site_description)
    suite.number = cart_count + 1
    cart.append(suite)

    for item in form.cleaned_data['suite_contents']:
        orderitem = OrderItem(item_id=item.id, name=item.name, j_type=item.j_type, quantity=1, price=item.price, gender=item.gender, metal=item.metal, gems=item.gem_summary(), supplier=item.supplier, site_description=item.site_description, part_of_suite=suite)
        if item.j_type_eng() == 'ring': orderitem.size = form.cleaned_data.get('size') 
        orderitem.number = suite.number
        cart.append(orderitem)

    request.session['cart'] = cart
    cart_sum += suite_price
    request.session['cart_sum'] = cart_sum
    request.session['cart_price'] = cart_sum if cart_sum < 10000 else int(cart_sum * 0.95)
    request.session['cart_count'] = cart_count + 1

    return
コード例 #2
0
ファイル: views.py プロジェクト: afoninv/jewelry_retail
def cart_add_article(request, form, item):
    cart = request.session.get('cart') or []
    cart_sum = request.session.get('cart_sum') or 0
    cart_count = request.session.get('cart_count') or 0

    orderitem = OrderItem(item_id=item.id, name=item.name, j_type=item.j_type, quantity=1, price=item.price, gender=item.gender, metal=item.metal, gems=item.gem_summary(), supplier=item.supplier, site_description=item.site_description)
    if item.j_type_eng() == 'ring': orderitem.size = form.cleaned_data.get('size')
    orderitem.number = cart_count + 1
    cart.append(orderitem)

    request.session['cart'] = cart
    cart_sum += orderitem.price
    request.session['cart_sum'] = cart_sum
    request.session['cart_price'] = cart_sum if cart_sum < 10000 else int(cart_sum * 0.95)
    request.session['cart_count'] = cart_count + 1

    return