From dad67cb90ab444015a5df8f5e3dd10b6c394b7d2 Mon Sep 17 00:00:00 2001 From: Jason Bau Date: Thu, 22 Aug 2013 10:43:10 -0700 Subject: [PATCH] change error HTTP response codes to 400 where appropriate --- lms/djangoapps/shoppingcart/tests/test_views.py | 4 ++-- lms/djangoapps/shoppingcart/views.py | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/shoppingcart/tests/test_views.py b/lms/djangoapps/shoppingcart/tests/test_views.py index 25ee914ce6..eee685f84f 100644 --- a/lms/djangoapps/shoppingcart/tests/test_views.py +++ b/lms/djangoapps/shoppingcart/tests/test_views.py @@ -63,14 +63,14 @@ class ShoppingCartViewsTests(ModuleStoreTestCase): PaidCourseRegistration.add_to_order(self.cart, self.course_id) self.login_user() resp = self.client.post(reverse('shoppingcart.views.add_course_to_cart', args=[self.course_id])) - self.assertEqual(resp.status_code, 404) + self.assertEqual(resp.status_code, 400) self.assertIn(_('The course {0} is already in your cart.'.format(self.course_id)), resp.content) def test_add_course_to_cart_already_registered(self): CourseEnrollment.enroll(self.user, self.course_id) self.login_user() resp = self.client.post(reverse('shoppingcart.views.add_course_to_cart', args=[self.course_id])) - self.assertEqual(resp.status_code, 404) + self.assertEqual(resp.status_code, 400) self.assertIn(_('You are already registered in course {0}.'.format(self.course_id)), resp.content) def test_add_nonexistent_course_to_cart(self): diff --git a/lms/djangoapps/shoppingcart/views.py b/lms/djangoapps/shoppingcart/views.py index a2f88c9c94..0ed0c5407f 100644 --- a/lms/djangoapps/shoppingcart/views.py +++ b/lms/djangoapps/shoppingcart/views.py @@ -1,5 +1,6 @@ import logging -from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotFound, HttpResponseForbidden, Http404 +from django.http import (HttpResponse, HttpResponseRedirect, HttpResponseNotFound, + HttpResponseBadRequest, HttpResponseForbidden, Http404) from django.utils.translation import ugettext as _ from django.views.decorators.http import require_POST from django.core.urlresolvers import reverse @@ -19,9 +20,9 @@ def add_course_to_cart(request, course_id): return HttpResponseForbidden(_('You must be logged-in to add to a shopping cart')) cart = Order.get_cart_for_user(request.user) if PaidCourseRegistration.part_of_order(cart, course_id): - return HttpResponseNotFound(_('The course {0} is already in your cart.'.format(course_id))) + return HttpResponseBadRequest(_('The course {0} is already in your cart.'.format(course_id))) if CourseEnrollment.is_enrolled(user=request.user, course_id=course_id): - return HttpResponseNotFound(_('You are already registered in course {0}.'.format(course_id))) + return HttpResponseBadRequest(_('You are already registered in course {0}.'.format(course_id))) try: PaidCourseRegistration.add_to_order(cart, course_id) except ItemNotFoundError: