From a9e348cb4361d1f8c5ba2cfef7b6b9c93d3acdc6 Mon Sep 17 00:00:00 2001 From: Mubbshar Anwar <78487564+mubbsharanwar@users.noreply.github.com> Date: Wed, 20 Jul 2022 17:12:54 +0500 Subject: [PATCH] fix: List index out of range (#30751) - Current course run list index out of range. VAN-1019 --- lms/djangoapps/learner_dashboard/api/v0/views.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lms/djangoapps/learner_dashboard/api/v0/views.py b/lms/djangoapps/learner_dashboard/api/v0/views.py index e7c7171c86..6d16d3cf6e 100644 --- a/lms/djangoapps/learner_dashboard/api/v0/views.py +++ b/lms/djangoapps/learner_dashboard/api/v0/views.py @@ -372,13 +372,15 @@ class CourseRecommendationApiView(APIView): for course_id in course_keys: course_data = get_course_data(course_id) if course_data: - recommended_courses.append({ - 'course_run_key': [run['key'] for run in course_data['course_runs'] - if run['availability'] == 'Current'][-1], - 'title': str(course_data['title']), - 'logo_image_url': course_data['owners'][0]['logo_image_url'], - 'marketing_url': course_data.get('marketing_url') - }) + course_run_keys = [course_run['key'] for course_run in course_data['course_runs'] + if course_run['availability'] in ['Current', 'Upcoming']] + if course_run_keys: + recommended_courses.append({ + 'course_run_key': course_run_keys[0], + 'title': course_data['title'], + 'logo_image_url': course_data['owners'][0]['logo_image_url'], + 'marketing_url': course_data.get('marketing_url') + }) else: return Response(status=400)