diff --git a/registrasion/controllers/cart.py b/registrasion/controllers/cart.py index f23de385a56cf1b190649c2d591ebb503da2ad07..95a2b92173ea5afc7a149fac60031a922fcd6656 100644 --- a/registrasion/controllers/cart.py +++ b/registrasion/controllers/cart.py @@ -6,7 +6,7 @@ import itertools from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ValidationError from django.db import transaction -from django.db.models import Max, Sum +from django.db.models import Max from django.utils import timezone from registrasion import models as rego @@ -71,7 +71,6 @@ class CartController(object): self.cart.revision += 1 self.cart.save() - @transaction.atomic def set_quantities(self, product_quantities): ''' Sets the quantities on each of the products on each of the @@ -194,8 +193,6 @@ class CartController(object): ''' Determines whether the status of the current cart is valid; this is normally called before generating or paying an invoice ''' - is_reserved = self.cart in rego.Cart.reserved_carts() - # TODO: validate vouchers items = rego.ProductItem.objects.filter(cart=self.cart) diff --git a/registrasion/controllers/category.py b/registrasion/controllers/category.py index 7f244263890e816aaa7249d78a97431d76f986f0..9ab9dd3be9bb44b2f3ca36eed272cda12db4cc46 100644 --- a/registrasion/controllers/category.py +++ b/registrasion/controllers/category.py @@ -53,10 +53,4 @@ class CategoryController(object): ) cat_count = items.aggregate(Sum("quantity"))["quantity__sum"] or 0 - - cat_limit = self.category.limit_per_user - - if cat_limit is None: - return 999999 # We should probably work on this. - else: - return cat_limit - cat_count + cat_limit - cat_count diff --git a/registrasion/controllers/conditions.py b/registrasion/controllers/conditions.py index 731b7edce9ebad6c2898721d0fde16df98c94962..9a0b26df1360d6ad534a06efeebb1547813f16f6 100644 --- a/registrasion/controllers/conditions.py +++ b/registrasion/controllers/conditions.py @@ -3,7 +3,6 @@ import itertools from collections import defaultdict from collections import namedtuple -from django.db.models import Q from django.db.models import Sum from django.utils import timezone @@ -64,8 +63,8 @@ class ConditionController(object): "product_quantities") elif products is None: products = set(i[0] for i in product_quantities) - quantities = dict( (product, quantity) - for product, quantity in product_quantities ) + quantities = dict((product, quantity) + for product, quantity in product_quantities) elif product_quantities is None: products = set(products) quantities = {} @@ -84,7 +83,6 @@ class ConditionController(object): # if there are no mandatory conditions non_mandatory = defaultdict(lambda: False) - remainders = [] for condition in all_conditions: cond = cls.for_condition(condition) remainder = cond.user_quantity_remaining(user) @@ -233,6 +231,7 @@ class TimeOrStockLimitConditionController(ConditionController): return self.ceiling.limit - count + class TimeOrStockLimitEnablingConditionController( TimeOrStockLimitConditionController): diff --git a/registrasion/controllers/product.py b/registrasion/controllers/product.py index 349d01d77769b4af0f3f9c322ee43d9ea58a2ea7..d25a79bbf361874d6883c46d13e4882e1ff2975c 100644 --- a/registrasion/controllers/product.py +++ b/registrasion/controllers/product.py @@ -1,6 +1,5 @@ import itertools -from django.db.models import Q from django.db.models import Sum from registrasion import models as rego @@ -33,7 +32,9 @@ class ProductController(object): passed_limits = set( product for product in all_products - if CategoryController(product.category).user_quantity_remaining(user) > 0 + if CategoryController(product.category).user_quantity_remaining( + user + ) > 0 if cls(product).user_quantity_remaining(user) > 0 ) diff --git a/registrasion/tests/cart_controller_helper.py b/registrasion/tests/cart_controller_helper.py index 9176f2c8b1eee0628b2714b6dd2c17230fe81919..0578229755a93ea39e49b76ed6e8f75fe1477dfd 100644 --- a/registrasion/tests/cart_controller_helper.py +++ b/registrasion/tests/cart_controller_helper.py @@ -3,6 +3,7 @@ from registrasion import models as rego from django.core.exceptions import ObjectDoesNotExist + class TestingCartController(CartController): def set_quantity(self, product, quantity, batched=False): diff --git a/registrasion/tests/test_cart.py b/registrasion/tests/test_cart.py index 45c18ef0215a685ae8405f198d1771b54c7184c7..1de72bc90c4c923ebb4e5c59fd1a3908e56b64f5 100644 --- a/registrasion/tests/test_cart.py +++ b/registrasion/tests/test_cart.py @@ -126,7 +126,6 @@ class RegistrationCartTestCase(SetTimeMixin, TestCase): quantity=10, ).save() - @classmethod def new_voucher(self, code="VOUCHER", limit=1): voucher = rego.Voucher.objects.create( diff --git a/registrasion/views.py b/registrasion/views.py index f7e876941bc223d5edf80ad83c5242e4b74c8673..192f401d2fa0c63c1abc207ca2c972dfb7038697 100644 --- a/registrasion/views.py +++ b/registrasion/views.py @@ -14,7 +14,6 @@ from django.contrib.auth.decorators import login_required from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ValidationError -from django.db import transaction from django.http import Http404 from django.shortcuts import redirect from django.shortcuts import render