Merge pull request #17930 from edx/bexline/sso_id_verification2

ENT-945 Apply logic for taking into account SSOVerifications
This commit is contained in:
Brittney Exline
2018-04-24 07:40:52 -06:00
committed by GitHub
21 changed files with 357 additions and 222 deletions

View File

@@ -154,9 +154,12 @@ def check_verify_status_by_course(user, course_enrollments):
# By default, don't show any status related to verification
status = None
should_display = True
# Check whether the user was approved or is awaiting approval
if relevant_verification is not None:
should_display = relevant_verification.should_display_status_to_user()
if relevant_verification.status == "approved":
if verification_expiring_soon:
status = VERIFY_STATUS_NEED_TO_REVERIFY
@@ -214,7 +217,8 @@ def check_verify_status_by_course(user, course_enrollments):
status_by_course[enrollment.course_id] = {
'status': status,
'days_until_deadline': days_until_deadline
'days_until_deadline': days_until_deadline,
'should_display': should_display,
}
if recent_verification_datetime:

View File

@@ -716,8 +716,8 @@ def student_dashboard(request):
# Verification Attempts
# Used to generate the "you must reverify for course x" banner
verification_status, verification_error_codes = IDVerificationService.user_status(user)
verification_errors = get_verification_error_reasons_for_display(verification_error_codes)
verification_status = IDVerificationService.user_status(user)
verification_errors = get_verification_error_reasons_for_display(verification_status['error'])
# Gets data for midcourse reverifications, if any are necessary or have failed
statuses = ["approved", "denied", "pending", "must_reverify"]
@@ -770,7 +770,9 @@ def student_dashboard(request):
redirect_message = ''
valid_verification_statuses = ['approved', 'must_reverify', 'pending', 'expired']
display_sidebar_on_dashboard = len(order_history_list) or verification_status in valid_verification_statuses
display_sidebar_on_dashboard = (len(order_history_list) or
(verification_status['status'] in valid_verification_statuses and
verification_status['should_display']))
# Filter out any course enrollment course cards that are associated with fulfilled entitlements
for entitlement in [e for e in course_entitlements if e.enrollment_course_run is not None]:
@@ -802,7 +804,8 @@ def student_dashboard(request):
'credit_statuses': _credit_statuses(user, course_enrollments),
'show_email_settings_for': show_email_settings_for,
'reverifications': reverifications,
'verification_status': verification_status,
'verification_display': verification_status['should_display'],
'verification_status': verification_status['status'],
'verification_status_by_course': verify_status_by_course,
'verification_errors': verification_errors,
'block_courses': block_courses,

View File

@@ -598,9 +598,9 @@ class SequenceModule(SequenceFields, ProctoringFields, XModule):
# inject verification status
if verification_service:
verification_status, __ = verification_service.get_status(user_id)
verification_status = verification_service.get_status(user_id)
context.update({
'verification_status': verification_status,
'verification_status': verification_status['status'],
'reverify_url': verification_service.reverify_url(),
})