def for_session_cart(cls, session_cart): cart = Cart(session_cart) product_ids = [item.data['product_id'] for item in session_cart] products = Product.objects.filter(id__in=product_ids) products = products.select_subclasses() product_map = dict((p.id, p) for p in products) for item in session_cart: try: product = product_map[item.data['product_id']] except KeyError: continue else: variant = product.variants.get(pk=item.data['variant_id']) quantity = item.quantity cart.add(variant, quantity=quantity, check_quantity=False, skip_session_cart=True) return cart
def for_session_cart(cls, session_cart, discounts=None): cart = Cart(session_cart, discounts=discounts) product_ids = [item.data['product_id'] for item in session_cart] products = Product.objects.filter(id__in=product_ids) products = products.select_subclasses() product_map = dict((p.id, p) for p in products) for item in session_cart: try: product = product_map[item.data['product_id']] except KeyError: # TODO: Provide error message continue else: variant = product.variants.get(pk=item.data['variant_id']) quantity = item.quantity cart.add(variant, quantity=quantity, check_quantity=False, skip_session_cart=True) return cart
def for_session_cart(cls, session_cart, discounts=None): from saleor.product.models import Product cart = Cart(session_cart, discounts=discounts) product_ids = [item.data['product_id'] for item in session_cart] products = Product.objects.filter(id__in=product_ids) products = products.select_subclasses() product_map = dict((p.id, p) for p in products) for item in session_cart: try: product = product_map[item.data['product_id']] except KeyError: # TODO: Provide error message continue else: variant = product.variants.get(pk=item.data['variant_id']) quantity = item.quantity cart.add(variant, quantity=quantity, check_quantity=False, skip_session_cart=True) return cart
def for_session_cart(cls, session_cart): from .models import Product cart = Cart(session_cart) product_ids = [item.data['product_id'] for item in session_cart] products = Product.query.filter(Product.id in product_ids) product_map = dict((p.id, p) for p in products) for item in session_cart: try: product = product_map[item.data['product_id']] except KeyError: continue quantity = item.quantity cart.add( product, quantity=quantity, check_quantity=False, skip_session_cart=True ) return cart