Merge pull request #1205 from edx/diana/fix-course-mode-expiration
Fix parentheses so that we only pull the course modes we want.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user