From 2213c4dd3df4c4efb70657aacbacf15b86d13d57 Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Tue, 26 Nov 2019 13:43:40 -0500 Subject: [PATCH] Support courses with only a verified mode --- lms/djangoapps/courseware/views/views.py | 23 ++++++++++++---------- lms/templates/courseware/course_about.html | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index 33dff1d60c..a51399d194 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -905,15 +905,18 @@ def course_about(request, course_id): ecommerce_checkout = ecomm_service.is_enabled(request.user) ecommerce_checkout_link = '' ecommerce_bulk_checkout_link = '' - professional_mode = None - is_professional_mode = CourseMode.PROFESSIONAL in modes or CourseMode.NO_ID_PROFESSIONAL_MODE in modes - if ecommerce_checkout and is_professional_mode: - professional_mode = modes.get(CourseMode.PROFESSIONAL, '') or \ - modes.get(CourseMode.NO_ID_PROFESSIONAL_MODE, '') - if professional_mode.sku: - ecommerce_checkout_link = ecomm_service.get_checkout_page_url(professional_mode.sku) - if professional_mode.bulk_sku: - ecommerce_bulk_checkout_link = ecomm_service.get_checkout_page_url(professional_mode.bulk_sku) + single_paid_mode = None + if ecommerce_checkout: + if len(modes) == 1 and list(modes.values())[0].min_price: + single_paid_mode = list(modes.values())[0] + else: + # have professional ignore other modes for historical reasons + single_paid_mode = modes.get(CourseMode.PROFESSIONAL) + + if single_paid_mode and single_paid_mode.sku: + ecommerce_checkout_link = ecomm_service.get_checkout_page_url(single_paid_mode.sku) + if single_paid_mode and single_paid_mode.bulk_sku: + ecommerce_bulk_checkout_link = ecomm_service.get_checkout_page_url(single_paid_mode.bulk_sku) registration_price, course_price = get_course_prices(course) @@ -964,7 +967,7 @@ def course_about(request, course_id): 'ecommerce_checkout': ecommerce_checkout, 'ecommerce_checkout_link': ecommerce_checkout_link, 'ecommerce_bulk_checkout_link': ecommerce_bulk_checkout_link, - 'professional_mode': professional_mode, + 'single_paid_mode': single_paid_mode, 'reg_then_add_to_cart_link': reg_then_add_to_cart_link, 'show_courseware_link': show_courseware_link, 'is_course_full': is_course_full, diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html index cb999d8546..293084de57 100644 --- a/lms/templates/courseware/course_about.html +++ b/lms/templates/courseware/course_about.html @@ -164,7 +164,7 @@ from six import string_types reg_href = ecommerce_checkout_link else: reg_href="#" - if professional_mode: + if single_paid_mode: href_class = "add-to-cart" else: href_class = "register"