Skip to content
Snippets Groups Projects
Commit 6446f611 authored by cahrens's avatar cahrens
Browse files

Log courses with improper end dates.

EDUCATOR-1134
parent dc2f808f
No related branches found
No related tags found
No related merge requests found
...@@ -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.
""" """
return course_metadata_utils.has_course_ended(self.end) try:
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"""
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment