From 6f8090eadb0bbf48e8800523af399a7aff217ad9 Mon Sep 17 00:00:00 2001
From: Matthew Piatetsky <mpiatetsky@edx.org>
Date: Fri, 16 Nov 2018 15:19:14 -0500
Subject: [PATCH] handle case when list of programs for course is empty

---
 common/djangoapps/course_modes/views.py | 38 +++++++++++++------------
 1 file changed, 20 insertions(+), 18 deletions(-)

diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py
index 89dac8f5d96..15a8a365289 100644
--- a/common/djangoapps/course_modes/views.py
+++ b/common/djangoapps/course_modes/views.py
@@ -154,22 +154,24 @@ class ChooseModeView(View):
                 meter_inverted_programs = meter.invert_programs()
                 if len(meter_inverted_programs) > 0:
                     # program for the course on this page
-                    program_for_course = meter_inverted_programs.get(course_id)[0]
-                    program_uuid = program_for_course.get('uuid')
-                    if program_for_course:
-                        # program data with bundle info
-                        program_data = ProgramDataExtender(program_for_course, request.user, mobile_only=False).extend()
-                        skus = program_data.get('skus')
-                        ecommerce_service = EcommerceService()
-                        program_bundle_url = ecommerce_service.get_checkout_page_url(*skus, program_uuid=program_uuid)
-                        bundle_data = {
-                            'program_marketing_site_url': program_data.get('marketing_url'),
-                            'program_bundle_url': program_bundle_url,
-                            'discount_data': program_data.get('discount_data'),
-                            'program_type': program_data.get('type'),
-                            'program_title': program_data.get('title'),
-                            'program_price': program_data.get('full_program_price'),
-                        }
+                    programs_for_course = meter_inverted_programs.get(course_id)
+                    if programs_for_course:
+                        program_for_course = programs_for_course[0]
+                        program_uuid = program_for_course.get('uuid')
+                        if program_for_course:
+                            # program data with bundle info
+                            program_data = ProgramDataExtender(program_for_course, request.user, mobile_only=False).extend()
+                            skus = program_data.get('skus')
+                            ecommerce_service = EcommerceService()
+                            program_bundle_url = ecommerce_service.get_checkout_page_url(*skus, program_uuid=program_uuid)
+                            bundle_data = {
+                                'program_marketing_site_url': program_data.get('marketing_url'),
+                                'program_bundle_url': program_bundle_url,
+                                'discount_data': program_data.get('discount_data'),
+                                'program_type': program_data.get('type'),
+                                'program_title': program_data.get('title'),
+                                'program_price': program_data.get('full_program_price'),
+                            }
 
         context = {
             "bundle_data": bundle_data,
@@ -179,7 +181,7 @@ class ChooseModeView(View):
             ),
             "modes": modes,
             "has_credit_upsell": has_credit_upsell,
-            "course_name": course.display_name_with_default_escaped,
+            "course_name": course.display_name_with_default,
             "course_org": course.display_org_with_default,
             "course_num": course.display_number_with_default,
             "chosen_price": chosen_price,
@@ -196,7 +198,7 @@ class ChooseModeView(View):
         )
 
         title_content = _("Congratulations!  You are now enrolled in {course_name}").format(
-            course_name=course.display_name_with_default_escaped
+            course_name=course.display_name_with_default
         )
 
         context["title_content"] = title_content
-- 
GitLab