From 33bdf935f0e4af56753a085d4aabe4094434bf08 Mon Sep 17 00:00:00 2001 From: asadiqbal08 Date: Tue, 5 Aug 2014 17:49:05 +0500 Subject: [PATCH] Retrieving active coupon codes from model --- .../shoppingcart/tests/test_views.py | 4 ++-- lms/djangoapps/shoppingcart/views.py | 21 ++++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/lms/djangoapps/shoppingcart/tests/test_views.py b/lms/djangoapps/shoppingcart/tests/test_views.py index 61a8b494e2..7f63fe6b71 100644 --- a/lms/djangoapps/shoppingcart/tests/test_views.py +++ b/lms/djangoapps/shoppingcart/tests/test_views.py @@ -142,8 +142,8 @@ class ShoppingCartViewsTests(ModuleStoreTestCase): self.add_coupon(self.course_key, False) self.add_course_to_user_cart() resp = self.client.post(reverse('shoppingcart.views.use_code'), {'code': self.coupon_code}) - self.assertEqual(resp.status_code, 400) - self.assertIn("Coupon '{0}' is inactive.".format(self.coupon_code), resp.content) + self.assertEqual(resp.status_code, 404) + self.assertIn("Discount does not exist against code '{0}'.".format(self.coupon_code), resp.content) def test_course_does_not_exist_in_cart_against_valid_coupon(self): course_key = self.course_key.to_deprecated_string() + 'testing' diff --git a/lms/djangoapps/shoppingcart/views.py b/lms/djangoapps/shoppingcart/views.py index 8f97e17c37..fd731ecfa9 100644 --- a/lms/djangoapps/shoppingcart/views.py +++ b/lms/djangoapps/shoppingcart/views.py @@ -160,7 +160,7 @@ def use_code(request): """ code = request.POST["code"] try: - coupon = Coupon.objects.get(code=code) + coupon = Coupon.objects.get(code=code, is_active=True) except Coupon.DoesNotExist: # If not coupon code then we check that code against course registration code try: @@ -192,18 +192,15 @@ def use_coupon_code(coupon, user): """ This method utilize course coupon code """ - if coupon.is_active: - try: - cart = Order.get_cart_for_user(user) - CouponRedemption.add_coupon_redemption(coupon, cart) - except CouponAlreadyExistException: - return HttpResponseBadRequest(_("Coupon '{0}' already used.".format(coupon.code))) - except ItemDoesNotExistAgainstCouponException: - return HttpResponseNotFound(_("Coupon '{0}' is not valid for any course in the shopping cart.".format(coupon.code))) + try: + cart = Order.get_cart_for_user(user) + CouponRedemption.add_coupon_redemption(coupon, cart) + except CouponAlreadyExistException: + return HttpResponseBadRequest(_("Coupon '{0}' already used.".format(coupon.code))) + except ItemDoesNotExistAgainstCouponException: + return HttpResponseNotFound(_("Coupon '{0}' is not valid for any course in the shopping cart.".format(coupon.code))) - return HttpResponse(json.dumps({'response': 'success'}), content_type="application/json") - else: - return HttpResponseBadRequest(_("Coupon '{0}' is inactive.".format(coupon.code))) + return HttpResponse(json.dumps({'response': 'success'}), content_type="application/json") @login_required