Changeset - 3f53d6f4ffb6
[Not reviewed]
0 1 0
Christopher Neugebauer - 8 years ago 2016-09-14 05:09:02
chrisjrn@gmail.com
Removes spurious print statement.
1 file changed with 0 insertions and 2 deletions:
0 comments (0 inline, 0 general)
registrasion/controllers/item.py
Show inline comments
...
 
@@ -36,50 +36,48 @@ class ItemController(object):
 
    def _items(self, cart_status, category=None):
 
        ''' Aggregates the items that this user has purchased.
 

	
 
        Arguments:
 
            cart_status (int or Iterable(int)): etc
 
            category (Optional[models.inventory.Category]): the category
 
                of items to restrict to.
 

	
 
        Returns:
 
            [ProductAndQuantity, ...]: A list of product-quantity pairs,
 
                aggregating like products from across multiple invoices.
 

	
 
        '''
 

	
 
        if not isinstance(cart_status, Iterable):
 
            cart_status = [cart_status]
 

	
 
        status_query = (
 
            Q(productitem__cart__status=status) for status in cart_status
 
        )
 

	
 
        in_cart = Q(productitem__cart__user=self.user)
 
        in_cart = in_cart & reduce(operator.__or__, status_query)
 

	
 
        print in_cart
 

	
 
        quantities_in_cart = When(
 
            in_cart,
 
            then="productitem__quantity",
 
        )
 

	
 
        quantities_or_zero = Case(
 
            quantities_in_cart,
 
            default=Value(0),
 
        )
 

	
 
        products = inventory.Product.objects
 

	
 
        if category:
 
            products = products.filter(category=category)
 

	
 
        products = products.select_related("category")
 
        products = products.annotate(quantity=Sum(quantities_or_zero))
 
        products = products.filter(quantity__gt=0)
 

	
 
        out = []
 
        for prod in products:
 
            out.append(ProductAndQuantity(prod, prod.quantity))
 
        return out
 

	
0 comments (0 inline, 0 general)