diff --git a/lms/djangoapps/certificates/models.py b/lms/djangoapps/certificates/models.py index 6a380a2f7b..eb6ca407a0 100644 --- a/lms/djangoapps/certificates/models.py +++ b/lms/djangoapps/certificates/models.py @@ -1,6 +1,7 @@ from django.contrib.auth.models import User from django.db import models from datetime import datetime +from model_utils import Choices """ Certificates are created for a student and an offering of a course. @@ -62,11 +63,6 @@ class CertificateStatuses(object): restricted = 'restricted' unavailable = 'unavailable' -class CertificateModes(object): - verified = 'verified' - honor = 'honor' - audit = 'audit' - class CertificateWhitelist(models.Model): """ Tracks students who are whitelisted, all users @@ -90,7 +86,8 @@ class GeneratedCertificate(models.Model): key = models.CharField(max_length=32, blank=True, default='') distinction = models.BooleanField(default=False) status = models.CharField(max_length=32, default='unavailable') - mode = models.CharField(max_length=32, default=CertificateModes.honor) + MODES = Choices('verified', 'honor', 'audit') + mode = models.CharField(max_length=32, choices=MODES, default=MODES.honor) name = models.CharField(blank=True, max_length=255) created_date = models.DateTimeField( auto_now_add=True, default=datetime.now) @@ -144,4 +141,4 @@ def certificate_status_for_student(student, course_id): return d except GeneratedCertificate.DoesNotExist: pass - return {'status': CertificateStatuses.unavailable, 'mode': CertificateModes.honor} + return {'status': CertificateStatuses.unavailable, 'mode': GeneratedCertificate.MODES.honor} diff --git a/lms/djangoapps/certificates/queue.py b/lms/djangoapps/certificates/queue.py index 0c07ed6e6f..2f9e70517a 100644 --- a/lms/djangoapps/certificates/queue.py +++ b/lms/djangoapps/certificates/queue.py @@ -1,7 +1,7 @@ from certificates.models import GeneratedCertificate from certificates.models import certificate_status_for_student from certificates.models import CertificateStatuses as status -from certificates.models import CertificateWhitelist, CertificateModes +from certificates.models import CertificateWhitelist from courseware import grades, courses from django.test.client import RequestFactory @@ -179,14 +179,14 @@ class XQueueCertInterface(object): org = course_id.split('/')[0] course_num = course_id.split('/')[1] cert_mode = enrollment_mode - if enrollment_mode == CertificateModes.verified and SoftwareSecurePhotoVerification.user_is_verified(student): + if enrollment_mode == GeneratedCertificate.MODES.verified and SoftwareSecurePhotoVerification.user_is_verified(student): template_pdf = "certificate-template-{0}-{1}-verified.pdf".format( org, course_num) - elif (enrollment_mode == CertificateModes.verified and not + elif (enrollment_mode == GeneratedCertificate.MODES.verified and not SoftwareSecurePhotoVerification.user_is_verified(student)): template_pdf = "certificate-template-{0}-{1}.pdf".format( org, course_num) - cert_mode = CertificateModes.honor + cert_mode = GeneratedCertificate.MODES.honor else: # honor code and audit students template_pdf = "certificate-template-{0}-{1}.pdf".format(