Retrieving active coupon codes from model

This commit is contained in:
asadiqbal08
2014-08-05 17:49:05 +05:00
committed by Chris Dodge
parent fc8ec1cc43
commit 33bdf935f0
2 changed files with 11 additions and 14 deletions

View File

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

View File

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