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,
in roughly chronological order, most recent first. Add your entries at or near
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 split testing functionality for internal use.
......
......@@ -55,8 +55,8 @@ class CourseMode(models.Model):
"""
now = datetime.now(pytz.UTC)
found_course_modes = cls.objects.filter(Q(course_id=course_id) &
Q(expiration_date__isnull=True) |
Q(expiration_date__gte=now))
(Q(expiration_date__isnull=True) |
Q(expiration_date__gte=now)))
modes = ([Mode(mode.mode_slug, mode.mode_display_name, mode.min_price, mode.suggested_prices, mode.currency)
for mode in found_course_modes])
if not modes:
......
......@@ -102,3 +102,12 @@ class CourseModeModelTest(TestCase):
self.create_mode(mode1.slug, mode1.name, mode1.min_price, mode1.suggested_prices)
modes = CourseMode.modes_for_course(self.course_id)
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