Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 19 additions & 2 deletions cms/djangoapps/contentstore/views/course.py
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ def get_courses_accessible_to_user(request, org=None):
return courses, in_process_course_actions


def _process_courses_list(courses_iter, in_process_course_actions, split_archived=False):
def _process_courses_list(courses_iter, in_process_course_actions, split_archived=False, ignore_archived=False):
"""
Iterates over the list of courses to be displayed to the user, and:

Expand Down Expand Up @@ -738,6 +738,22 @@ def format_course_for_view(course):
archived_courses = []

for course in courses_iter:
# BEGIN temp fix for Sounds Write

# TODO: if a user has tons of courses like Sounds Write (571), some pages will time out.
# This is a temporary patch to prevent Sounds-Write requets timing out. The right fix
# is to optimize the DB queries.

# This skipping step can be potentially kept since it's just used for the "prerequisite" course list
# where we do not need to list archived courses.
if course.has_ended() and ignore_archived:
continue

if course.has_ended() and course.location.org == "sounds-write":
continue

# END temp fix for Sounds Write

if isinstance(course, ErrorDescriptor) or (course.id in in_process_action_course_keys):
continue

Expand Down Expand Up @@ -1118,7 +1134,7 @@ def settings_handler(request, course_key_string):
# exclude current course from the list of available courses
courses = (course for course in courses if course.id != course_key)
if courses:
courses, __ = _process_courses_list(courses, in_process_course_actions)
courses, __ = _process_courses_list(courses, in_process_course_actions, ignore_archived=True)
settings_context.update({'possible_pre_requisite_courses': list(courses)})

if credit_eligibility_enabled:
Expand Down Expand Up @@ -1799,3 +1815,4 @@ def _get_course_creator_status(user):
course_creator_status = 'granted'

return course_creator_status

Loading
Loading