Commit 8d564f21 by Diana Huang

Use Choices to track possible modes.

parent 696f1df0
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}
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(
......
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