Commit 6446f611 by cahrens

Log courses with improper end dates.

EDUCATOR-1134
parent dc2f808f
...@@ -254,9 +254,8 @@ FEATURES = { ...@@ -254,9 +254,8 @@ FEATURES = {
'ENABLE_ENROLLMENT_TRACK_USER_PARTITION': True, 'ENABLE_ENROLLMENT_TRACK_USER_PARTITION': True,
# Whether archived courses (courses with end dates in the past) should be # Whether archived courses (courses with end dates in the past) should be
# shown in Studio in a separate list. Note that attempting to enable this # shown in Studio in a separate list.
# failed on stage-- see EDUCATOR-1134. 'ENABLE_SEPARATE_ARCHIVED_COURSES': True
'ENABLE_SEPARATE_ARCHIVED_COURSES': False
} }
ENABLE_JASMINE = False ENABLE_JASMINE = False
......
...@@ -1451,4 +1451,13 @@ class CourseSummary(object): ...@@ -1451,4 +1451,13 @@ class CourseSummary(object):
""" """
Returns whether the course has ended. Returns whether the course has ended.
""" """
try:
return course_metadata_utils.has_course_ended(self.end) return course_metadata_utils.has_course_ended(self.end)
except TypeError as e:
log.warning(
"Course '{course_id}' has an improperly formatted end date '{end_date}'. Error: '{err}'.".format(
course_id=unicode(self.id), end_date=self.end, err=e
)
)
modified_end = self.end.replace(tzinfo=utc)
return course_metadata_utils.has_course_ended(modified_end)
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
import ddt import ddt
import unittest import unittest
from datetime import datetime, timedelta from datetime import datetime, timedelta
from dateutil import parser
import itertools import itertools
from fs.memoryfs import MemoryFS from fs.memoryfs import MemoryFS
...@@ -142,6 +143,16 @@ class HasEndedMayCertifyTestCase(unittest.TestCase): ...@@ -142,6 +143,16 @@ class HasEndedMayCertifyTestCase(unittest.TestCase):
self.assertFalse(self.future_noshow_certs.may_certify()) self.assertFalse(self.future_noshow_certs.may_certify())
class CourseSummaryHasEnded(unittest.TestCase):
""" Test for has_ended method when end date is missing timezone information. """
def test_course_end(self):
test_course = get_dummy_course("2012-01-01T12:00")
bad_end_date = parser.parse("2012-02-21 10:28:45")
summary = xmodule.course_module.CourseSummary(test_course.id, end=bad_end_date)
self.assertTrue(summary.has_ended())
@ddt.ddt @ddt.ddt
class IsNewCourseTestCase(unittest.TestCase): class IsNewCourseTestCase(unittest.TestCase):
"""Make sure the property is_new works on courses""" """Make sure the property is_new works on courses"""
......
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