Commit 8d564f21 by Diana Huang

Use Choices to track possible modes.

parent 696f1df0
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.db import models from django.db import models
from datetime import datetime from datetime import datetime
from model_utils import Choices
""" """
Certificates are created for a student and an offering of a course. Certificates are created for a student and an offering of a course.
...@@ -62,11 +63,6 @@ class CertificateStatuses(object): ...@@ -62,11 +63,6 @@ class CertificateStatuses(object):
restricted = 'restricted' restricted = 'restricted'
unavailable = 'unavailable' unavailable = 'unavailable'
class CertificateModes(object):
verified = 'verified'
honor = 'honor'
audit = 'audit'
class CertificateWhitelist(models.Model): class CertificateWhitelist(models.Model):
""" """
Tracks students who are whitelisted, all users Tracks students who are whitelisted, all users
...@@ -90,7 +86,8 @@ class GeneratedCertificate(models.Model): ...@@ -90,7 +86,8 @@ class GeneratedCertificate(models.Model):
key = models.CharField(max_length=32, blank=True, default='') key = models.CharField(max_length=32, blank=True, default='')
distinction = models.BooleanField(default=False) distinction = models.BooleanField(default=False)
status = models.CharField(max_length=32, default='unavailable') 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) name = models.CharField(blank=True, max_length=255)
created_date = models.DateTimeField( created_date = models.DateTimeField(
auto_now_add=True, default=datetime.now) auto_now_add=True, default=datetime.now)
...@@ -144,4 +141,4 @@ def certificate_status_for_student(student, course_id): ...@@ -144,4 +141,4 @@ def certificate_status_for_student(student, course_id):
return d return d
except GeneratedCertificate.DoesNotExist: except GeneratedCertificate.DoesNotExist:
pass pass
return {'status': CertificateStatuses.unavailable, 'mode': CertificateModes.honor} return {'status': CertificateStatuses.unavailable, 'mode': GeneratedCertificate.MODES.honor}
from certificates.models import GeneratedCertificate from certificates.models import GeneratedCertificate
from certificates.models import certificate_status_for_student from certificates.models import certificate_status_for_student
from certificates.models import CertificateStatuses as status from certificates.models import CertificateStatuses as status
from certificates.models import CertificateWhitelist, CertificateModes from certificates.models import CertificateWhitelist
from courseware import grades, courses from courseware import grades, courses
from django.test.client import RequestFactory from django.test.client import RequestFactory
...@@ -179,14 +179,14 @@ class XQueueCertInterface(object): ...@@ -179,14 +179,14 @@ class XQueueCertInterface(object):
org = course_id.split('/')[0] org = course_id.split('/')[0]
course_num = course_id.split('/')[1] course_num = course_id.split('/')[1]
cert_mode = enrollment_mode 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( template_pdf = "certificate-template-{0}-{1}-verified.pdf".format(
org, course_num) org, course_num)
elif (enrollment_mode == CertificateModes.verified and not elif (enrollment_mode == GeneratedCertificate.MODES.verified and not
SoftwareSecurePhotoVerification.user_is_verified(student)): SoftwareSecurePhotoVerification.user_is_verified(student)):
template_pdf = "certificate-template-{0}-{1}.pdf".format( template_pdf = "certificate-template-{0}-{1}.pdf".format(
org, course_num) org, course_num)
cert_mode = CertificateModes.honor cert_mode = GeneratedCertificate.MODES.honor
else: else:
# honor code and audit students # honor code and audit students
template_pdf = "certificate-template-{0}-{1}.pdf".format( template_pdf = "certificate-template-{0}-{1}.pdf".format(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment