From df1ac42d0a9279c975864f0eabae5933704872c4 Mon Sep 17 00:00:00 2001 From: Christie Rice <8483753+crice100@users.noreply.github.com> Date: Tue, 5 Mar 2019 17:11:16 -0500 Subject: [PATCH] REVEM-219 Get program info even if user isn't yet enrolled in the course --- lms/djangoapps/experiments/utils.py | 43 ++++++++++++++--------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/lms/djangoapps/experiments/utils.py b/lms/djangoapps/experiments/utils.py index 58213f22dc..a55f03ca19 100644 --- a/lms/djangoapps/experiments/utils.py +++ b/lms/djangoapps/experiments/utils.py @@ -126,34 +126,33 @@ def get_experiment_user_metadata_context(course, user): audit_enrollments = user_enrollments.filter(mode='audit') has_non_audit_enrollments = (len(audit_enrollments) != len(user_enrollments)) # TODO: clean up as part of REVO-28 (END) + # TODO: clean up as part of REVEM-199 (START) + if PROGRAM_INFO_FLAG.is_enabled(): + programs = get_programs(course=course.id) + if programs: + # A course can be in multiple programs, but we're just grabbing the first one + program = programs[0] + complete_enrollment = False + total_courses = None + courses = program.get('courses') + if courses is not None: + total_courses = len(courses) + complete_enrollment = is_enrolled_in_all_courses_in_program(courses, user_enrollments) + + program_key = { + 'uuid': program.get('uuid'), + 'title': program.get('title'), + 'marketing_url': program.get('marketing_url'), + 'total_courses': total_courses, + 'complete_enrollment': complete_enrollment, + } + # TODO: clean up as part of REVEM-199 (END) enrollment = CourseEnrollment.objects.select_related( 'course' ).get(user_id=user.id, course_id=course.id) if enrollment.is_active: enrollment_mode = enrollment.mode enrollment_time = enrollment.created - - # TODO: clean up as part of REVEM-199 (START) - if PROGRAM_INFO_FLAG.is_enabled(): - programs = get_programs(course=course.id) - if programs: - # A course can be in multiple programs, but we're just grabbing the first one - program = programs[0] - complete_enrollment = False - total_courses = None - courses = program.get('courses') - if courses is not None: - total_courses = len(courses) - complete_enrollment = is_enrolled_in_all_courses_in_program(courses, user_enrollments) - - program_key = { - 'uuid': program.get('uuid'), - 'title': program.get('title'), - 'marketing_url': program.get('marketing_url'), - 'total_courses': total_courses, - 'complete_enrollment': complete_enrollment, - } - # TODO: clean up as part of REVEM-199 (END) except CourseEnrollment.DoesNotExist: pass # Not enrolled, used the default None values