Use Choices to track possible modes.
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user