Use Choices to track possible modes.

This commit is contained in:
Diana Huang
2013-11-22 11:18:15 -05:00
parent 696f1df043
commit 8d564f219d
2 changed files with 8 additions and 11 deletions

View File

@@ -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}

View File

@@ -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(