add dynamic_upgrade_deadline to user-metadata (#22046)

REV-943

* added dynamic and course_upgrade_deadline to user-metadata
This commit is contained in:
julianajlk
2019-10-16 11:07:32 -04:00
committed by GitHub
parent 0e1dba1b24
commit 4d3d6c0178
2 changed files with 14 additions and 9 deletions

View File

@@ -79,7 +79,7 @@ def check_and_get_upgrade_link_and_date(user, enrollment=None, course=None):
"""
if enrollment is None and course is None:
logger.warn(u'Must specify either an enrollment or a course')
return (None, None)
return (None, None, None)
if enrollment:
if course is None:
@@ -97,7 +97,7 @@ def check_and_get_upgrade_link_and_date(user, enrollment=None, course=None):
course.id.deprecated
)
)
return (None, None)
return (None, None, None)
if enrollment.user_id != user.id:
logger.warn(u'{} refers to a different user than {} which was supplied. Enrollment user id={}, repr={!r}. '
@@ -109,7 +109,7 @@ def check_and_get_upgrade_link_and_date(user, enrollment=None, course=None):
user.id,
)
)
return (None, None)
return (None, None, None)
if enrollment is None:
enrollment = CourseEnrollment.get_enrollment(user, course.id)
@@ -117,10 +117,11 @@ def check_and_get_upgrade_link_and_date(user, enrollment=None, course=None):
if user.is_authenticated and verified_upgrade_link_is_valid(enrollment):
return (
verified_upgrade_deadline_link(user, course),
enrollment.upgrade_deadline
enrollment.upgrade_deadline,
enrollment.course_upgrade_deadline,
)
return (None, None)
return (None, None, None)
# TODO: clean up as part of REVEM-199 (START)
@@ -308,8 +309,10 @@ def get_base_experiment_metadata_context(course, user, enrollment, user_enrollme
enrollment_mode = enrollment.mode
enrollment_time = enrollment.created
# upgrade_link and upgrade_date should be None if user has passed their dynamic pacing deadline.
upgrade_link, upgrade_date = check_and_get_upgrade_link_and_date(user, enrollment, course)
# upgrade_link, dynamic_upgrade_deadline and course_upgrade_deadline should be None
# if user has passed their dynamic pacing deadline.
upgrade_link, dynamic_upgrade_deadline, course_upgrade_deadline = check_and_get_upgrade_link_and_date(
user, enrollment, course)
return {
'upgrade_link': upgrade_link,
@@ -317,7 +320,8 @@ def get_base_experiment_metadata_context(course, user, enrollment, user_enrollme
'enrollment_mode': enrollment_mode,
'enrollment_time': enrollment_time,
'pacing_type': 'self_paced' if course.self_paced else 'instructor_paced',
'upgrade_deadline': upgrade_date,
'dynamic_upgrade_deadline': dynamic_upgrade_deadline,
'course_upgrade_deadline': course_upgrade_deadline,
'audit_access_deadline': get_audit_access_expiration(user, course),
'course_key': course.id,
'course_start': course.start,

View File

@@ -40,7 +40,8 @@ for datekey in (
'enrollment_time',
'course_start',
'course_end',
'upgrade_deadline'
'dynamic_upgrade_deadline',
'course_upgrade_deadline',
):
user_metadata[datekey] = (
context.get(datekey).isoformat() if context.get(datekey) else None