fix: Stop showing course certificate buttons to beta testers (#28416)
Beta testers can’t earn course certificates, so they should not see a “Request Certificate” button or other info describing how they can earn a cert. MICROBA-992
This commit is contained in:
@@ -44,6 +44,7 @@ from lms.djangoapps.certificates.api import (
|
||||
)
|
||||
from lms.djangoapps.certificates.data import CertificateStatuses
|
||||
from lms.djangoapps.grades.api import CourseGradeFactory
|
||||
from lms.djangoapps.instructor import access
|
||||
from lms.djangoapps.verify_student.models import VerificationDeadline
|
||||
from lms.djangoapps.verify_student.services import IDVerificationService
|
||||
from lms.djangoapps.verify_student.utils import is_verification_expiring_soon, verification_for_datetime
|
||||
@@ -465,6 +466,10 @@ def _cert_info(user, enrollment, cert_status):
|
||||
"""
|
||||
Implements the logic for cert_info -- split out for testing.
|
||||
|
||||
TODO: replace with a method that lives in the certificates app and combines this logic with
|
||||
openedx.core.djangoapps.certificates.api.can_show_certificate_message and
|
||||
lms.djangoapps.courseware.views.get_cert_data
|
||||
|
||||
Arguments:
|
||||
user (User): A user.
|
||||
enrollment (CourseEnrollment): A course enrollment.
|
||||
@@ -526,6 +531,10 @@ def _cert_info(user, enrollment, cert_status):
|
||||
if not CourseMode.is_eligible_for_certificate(enrollment.mode, status=status):
|
||||
return default_info
|
||||
|
||||
if course_overview and access.is_beta_tester(user, course_overview.id):
|
||||
# Beta testers are not eligible for a course certificate
|
||||
return default_info
|
||||
|
||||
status_dict = {
|
||||
'status': status,
|
||||
'mode': cert_status.get('mode', None),
|
||||
|
||||
Reference in New Issue
Block a user