Merge pull request #20154 from edx/dcs/masters-cert
Added masters to cert modes
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.20 on 2019-04-04 15:14
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('certificates', '0014_change_eligible_certs_manager'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='certificatetemplate',
|
||||
name='mode',
|
||||
field=models.CharField(blank=True, choices=[(b'verified', b'verified'), (b'honor', b'honor'), (b'audit', b'audit'), (b'professional', b'professional'), (b'no-id-professional', b'no-id-professional'), (b'masters', b'masters')], default=b'honor', help_text='The course mode for this template.', max_length=125, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='generatedcertificate',
|
||||
name='mode',
|
||||
field=models.CharField(choices=[(b'verified', b'verified'), (b'honor', b'honor'), (b'audit', b'audit'), (b'professional', b'professional'), (b'no-id-professional', b'no-id-professional'), (b'masters', b'masters')], default=b'honor', max_length=32),
|
||||
),
|
||||
]
|
||||
@@ -256,9 +256,9 @@ class GeneratedCertificate(models.Model):
|
||||
# results. Django requires us to explicitly declare this.
|
||||
objects = models.Manager()
|
||||
|
||||
MODES = Choices('verified', 'honor', 'audit', 'professional', 'no-id-professional')
|
||||
MODES = Choices('verified', 'honor', 'audit', 'professional', 'no-id-professional', 'masters')
|
||||
|
||||
VERIFIED_CERTS_MODES = [CourseMode.VERIFIED, CourseMode.CREDIT_MODE]
|
||||
VERIFIED_CERTS_MODES = [CourseMode.VERIFIED, CourseMode.CREDIT_MODE, CourseMode.MASTERS]
|
||||
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
course_id = CourseKeyField(max_length=255, blank=True, default=None)
|
||||
|
||||
@@ -289,7 +289,7 @@ class XQueueCertInterface(object):
|
||||
is_eligible_for_certificate = is_whitelisted or CourseMode.is_eligible_for_certificate(enrollment_mode)
|
||||
unverified = False
|
||||
# For credit mode generate verified certificate
|
||||
if cert_mode == CourseMode.CREDIT_MODE:
|
||||
if cert_mode in (CourseMode.CREDIT_MODE, CourseMode.MASTERS):
|
||||
cert_mode = CourseMode.VERIFIED
|
||||
|
||||
if template_file is not None:
|
||||
|
||||
@@ -146,6 +146,7 @@ def fire_ungenerated_certificate_task(user, course_key, expected_verification_st
|
||||
CourseMode.CREDIT_MODE,
|
||||
CourseMode.PROFESSIONAL,
|
||||
CourseMode.NO_ID_PROFESSIONAL_MODE,
|
||||
CourseMode.MASTERS,
|
||||
]
|
||||
enrollment_mode, __ = CourseEnrollment.enrollment_mode_for_user(user, course_key)
|
||||
cert = GeneratedCertificate.certificate_for_student(user, course_key)
|
||||
|
||||
@@ -363,6 +363,7 @@ class CertificateGenerationTaskTest(ModuleStoreTestCase):
|
||||
('verified', True),
|
||||
('no-id-professional', True),
|
||||
('credit', True),
|
||||
('masters', True),
|
||||
('audit', False),
|
||||
('honor', False),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user