add preview_certificates permission

This commit is contained in:
Matthew Piatetsky
2019-07-31 12:24:36 -04:00
parent 9076b5d31c
commit 17ef02e34f
2 changed files with 11 additions and 1 deletions

View File

@@ -0,0 +1,9 @@
"""
Permission definitions for the certificates djangoapp
"""
from bridgekeeper import perms
from lms.djangoapps.courseware.rules import HasAccessRule
PREVIEW_CERTIFICATES = 'certificates.preview_certificates'
perms[PREVIEW_CERTIFICATES] = HasAccessRule('staff')

View File

@@ -44,6 +44,7 @@ from lms.djangoapps.certificates.models import (
CertificateStatuses,
GeneratedCertificate
)
from lms.djangoapps.certificates.permissions import PREVIEW_CERTIFICATES
from openedx.core.djangoapps.catalog.utils import get_course_run_details
from openedx.core.djangoapps.certificates.api import certificates_viewable_for_course, display_date_for_certificate
from openedx.core.djangoapps.lang_pref.api import get_closest_released_language
@@ -342,7 +343,7 @@ def _get_user_certificate(request, user, course_key, course, preview_mode=None):
user_certificate = None
if preview_mode:
# certificate is being previewed from studio
if has_access(request.user, 'instructor', course) or has_access(request.user, 'staff', course):
if request.user.has_perm(PREVIEW_CERTIFICATES, course):
if course.certificate_available_date and not course.self_paced:
modified_date = course.certificate_available_date
else: