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
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