Commit a54fb1db by Tyler Hallada

Address PR comments

parent c7330688
...@@ -142,10 +142,18 @@ class CourseViewTestCaseMixin(DemoCourseMixin): ...@@ -142,10 +142,18 @@ class CourseViewTestCaseMixin(DemoCourseMixin):
self.assertEquals(response.status_code, 404) self.assertEquals(response.status_code, 404)
# If data falls in date range, data should be returned # If data falls in date range, data should be returned
start_date = start_date.strftime(settings.DATETIME_FORMAT) start = start_date.strftime(settings.DATETIME_FORMAT)
end_date = end_date.strftime(settings.DATETIME_FORMAT) end = end_date.strftime(settings.DATETIME_FORMAT)
response = self.authenticated_get('%scourses/%s%s?start_date=%s&end_date=%s' % ( response = self.authenticated_get('%scourses/%s%s?start_date=%s&end_date=%s' % (
self.api_root_path, self.course_id, self.path, start_date, end_date)) self.api_root_path, self.course_id, self.path, start, end))
self.assertEquals(response.status_code, 200)
self.assertListEqual(response.data, expected_response)
# Passing dates in DATE_FORMAT still works
start = start_date.strftime(settings.DATE_FORMAT)
end = end_date.strftime(settings.DATE_FORMAT)
response = self.authenticated_get('%scourses/%s%s?start_date=%s&end_date=%s' % (
self.api_root_path, self.course_id, self.path, start, end))
self.assertEquals(response.status_code, 200) self.assertEquals(response.status_code, 200)
self.assertListEqual(response.data, expected_response) self.assertListEqual(response.data, expected_response)
......
...@@ -29,24 +29,19 @@ class BaseCourseView(generics.ListAPIView): ...@@ -29,24 +29,19 @@ class BaseCourseView(generics.ListAPIView):
end_date = request.QUERY_PARAMS.get('end_date') end_date = request.QUERY_PARAMS.get('end_date')
timezone = utc timezone = utc
if start_date: self.start_date = self.parse_date(start_date, timezone)
try: self.end_date = self.parse_date(end_date, timezone)
start_date = datetime.datetime.strptime(start_date, settings.DATETIME_FORMAT)
except ValueError: return super(BaseCourseView, self).get(request, *args, **kwargs)
start_date = datetime.datetime.strptime(start_date, settings.DATE_FORMAT)
start_date = make_aware(start_date, timezone)
if end_date: def parse_date(self, date, timezone):
if date:
try: try:
end_date = datetime.datetime.strptime(end_date, settings.DATETIME_FORMAT) date = datetime.datetime.strptime(date, settings.DATETIME_FORMAT)
except ValueError: except ValueError:
end_date = datetime.datetime.strptime(end_date, settings.DATE_FORMAT) date = datetime.datetime.strptime(date, settings.DATE_FORMAT)
end_date = make_aware(end_date, timezone) date = make_aware(date, timezone)
return date
self.start_date = start_date
self.end_date = end_date
return super(BaseCourseView, self).get(request, *args, **kwargs)
def apply_date_filtering(self, queryset): def apply_date_filtering(self, queryset):
raise NotImplementedError raise NotImplementedError
......
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