Commit bc9f86fd by Diana Huang

Merge pull request #1205 from edx/diana/fix-course-mode-expiration

Fix parentheses so that we only pull the course modes we want.
parents 86c6dd6e a0047042
...@@ -5,6 +5,9 @@ These are notable changes in edx-platform. This is a rolling list of changes, ...@@ -5,6 +5,9 @@ These are notable changes in edx-platform. This is a rolling list of changes,
in roughly chronological order, most recent first. Add your entries at or near in roughly chronological order, most recent first. Add your entries at or near
the top. Include a label indicating the component affected. the top. Include a label indicating the component affected.
LMS: Fix issue with CourseMode expiration dates
LMS: Add PaidCourseRegistration mode, where payment is required before course registration. LMS: Add PaidCourseRegistration mode, where payment is required before course registration.
LMS: Add split testing functionality for internal use. LMS: Add split testing functionality for internal use.
......
...@@ -55,8 +55,8 @@ class CourseMode(models.Model): ...@@ -55,8 +55,8 @@ class CourseMode(models.Model):
""" """
now = datetime.now(pytz.UTC) now = datetime.now(pytz.UTC)
found_course_modes = cls.objects.filter(Q(course_id=course_id) & found_course_modes = cls.objects.filter(Q(course_id=course_id) &
Q(expiration_date__isnull=True) | (Q(expiration_date__isnull=True) |
Q(expiration_date__gte=now)) Q(expiration_date__gte=now)))
modes = ([Mode(mode.mode_slug, mode.mode_display_name, mode.min_price, mode.suggested_prices, mode.currency) modes = ([Mode(mode.mode_slug, mode.mode_display_name, mode.min_price, mode.suggested_prices, mode.currency)
for mode in found_course_modes]) for mode in found_course_modes])
if not modes: if not modes:
......
...@@ -102,3 +102,12 @@ class CourseModeModelTest(TestCase): ...@@ -102,3 +102,12 @@ class CourseModeModelTest(TestCase):
self.create_mode(mode1.slug, mode1.name, mode1.min_price, mode1.suggested_prices) self.create_mode(mode1.slug, mode1.name, mode1.min_price, mode1.suggested_prices)
modes = CourseMode.modes_for_course(self.course_id) modes = CourseMode.modes_for_course(self.course_id)
self.assertEqual([mode1], modes) self.assertEqual([mode1], modes)
expired_mode.expiration_date = datetime.now(pytz.UTC) + timedelta(days=1)
expired_mode.save()
expired_mode_value = Mode(u'verified', u'Verified Certificate', 0, '', 'usd')
modes = CourseMode.modes_for_course(self.course_id)
self.assertEqual([expired_mode_value, mode1], modes)
modes = CourseMode.modes_for_course('second_test_course')
self.assertEqual([CourseMode.DEFAULT_MODE], modes)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment