diff --git a/lms/djangoapps/experiments/utils.py b/lms/djangoapps/experiments/utils.py index 57f3e7ed8d..68f1f1c6c0 100644 --- a/lms/djangoapps/experiments/utils.py +++ b/lms/djangoapps/experiments/utils.py @@ -241,11 +241,15 @@ def get_experiment_user_metadata_context(course, user): courses_left_to_purchase_price = None courses_left_to_purchase_url = None program_uuid = program.get('uuid') + status = None + is_eligible_for_one_click_purchase = None if courses is not None: total_courses = len(courses) complete_enrollment = is_enrolled_in_all_courses(courses, user_enrollments) if PROGRAM_PRICE_FLAG.is_enabled(): + status = program.get('status') + is_eligible_for_one_click_purchase = program.get('is_program_eligible_for_one_click_purchase') # Get the price and purchase URL of the program courses the user has yet to purchase. Say a # program has 3 courses (A, B and C), and the user previously purchased a certificate for A. # The user is enrolled in audit mode for B. The "left to purchase price" should be the price of @@ -255,15 +259,19 @@ def get_experiment_user_metadata_context(course, user): courses_left_to_purchase = get_unenrolled_courses(courses, non_audit_enrollments) if courses_left_to_purchase: has_courses_left_to_purchase = True - courses_left_to_purchase_price, courses_left_to_purchase_skus = get_program_price_and_skus( - courses_left_to_purchase) - courses_left_to_purchase_url = EcommerceService().get_checkout_page_url( - *courses_left_to_purchase_skus, program_uuid=program_uuid) + if is_eligible_for_one_click_purchase: + courses_left_to_purchase_price, courses_left_to_purchase_skus = \ + get_program_price_and_skus(courses_left_to_purchase) + if courses_left_to_purchase_skus: + courses_left_to_purchase_url = EcommerceService().get_checkout_page_url( + *courses_left_to_purchase_skus, program_uuid=program_uuid) program_key = { 'uuid': program_uuid, 'title': program.get('title'), 'marketing_url': program.get('marketing_url'), + 'status': status, + 'is_eligible_for_one_click_purchase': is_eligible_for_one_click_purchase, 'total_courses': total_courses, 'complete_enrollment': complete_enrollment, 'has_courses_left_to_purchase': has_courses_left_to_purchase,