Commit ed2d3117 by Clinton Blackburn

Merge pull request #270 from edx/sorting-fix

Fixed Sorting Bug on Course Index Page
parents 3c2492cb d6eb99f4
...@@ -34,7 +34,7 @@ class CourseIndexViewTests(CourseAPIMixin, ViewTestMixin, MiddlewareAssertionMix ...@@ -34,7 +34,7 @@ class CourseIndexViewTests(CourseAPIMixin, ViewTestMixin, MiddlewareAssertionMix
def setUp(self): def setUp(self):
super(CourseIndexViewTests, self).setUp() super(CourseIndexViewTests, self).setUp()
self.grant_permission(self.user, DEMO_COURSE_ID, DEPRECATED_DEMO_COURSE_ID) self.grant_permission(self.user, DEMO_COURSE_ID, DEPRECATED_DEMO_COURSE_ID)
self.courses = self._create_course_list(DEMO_COURSE_ID, DEPRECATED_DEMO_COURSE_ID) self.courses = self._create_course_list(DEPRECATED_DEMO_COURSE_ID, DEMO_COURSE_ID)
def assertCourseListEquals(self, courses): def assertCourseListEquals(self, courses):
response = self.client.get(self.path()) response = self.client.get(self.path())
...@@ -47,6 +47,7 @@ class CourseIndexViewTests(CourseAPIMixin, ViewTestMixin, MiddlewareAssertionMix ...@@ -47,6 +47,7 @@ class CourseIndexViewTests(CourseAPIMixin, ViewTestMixin, MiddlewareAssertionMix
def test_get(self): def test_get(self):
""" If the user is authorized, the view should return a list of all accessible courses. """ """ If the user is authorized, the view should return a list of all accessible courses. """
self.courses.sort(key=lambda course: (course['name'] or course['key'] or '').lower())
self.assertCourseListEquals(self.courses) self.assertCourseListEquals(self.courses)
def test_get_with_mixed_permissions(self): def test_get_with_mixed_permissions(self):
......
...@@ -522,7 +522,6 @@ class CourseIndex(CourseAPIMixin, LoginRequiredMixin, TrackedViewMixin, LazyEnco ...@@ -522,7 +522,6 @@ class CourseIndex(CourseAPIMixin, LoginRequiredMixin, TrackedViewMixin, LazyEnco
raise PermissionDenied raise PermissionDenied
courses = self._create_course_list(courses) courses = self._create_course_list(courses)
courses = sorted(courses, key=lambda course: course.get('name', course.get('key')))
context['courses'] = courses context['courses'] = courses
context['page_data'] = self.get_page_data(context) context['page_data'] = self.get_page_data(context)
...@@ -544,4 +543,6 @@ class CourseIndex(CourseAPIMixin, LoginRequiredMixin, TrackedViewMixin, LazyEnco ...@@ -544,4 +543,6 @@ class CourseIndex(CourseAPIMixin, LoginRequiredMixin, TrackedViewMixin, LazyEnco
for course_id in course_ids: for course_id in course_ids:
info.append({'key': course_id, 'name': course_data.get(course_id)}) info.append({'key': course_id, 'name': course_data.get(course_id)})
info.sort(key=lambda course: (course.get('name', '') or course.get('key', '') or '').lower())
return info return info
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