Merge pull request #20154 from edx/dcs/masters-cert

Added masters to cert modes
This commit is contained in:
Dave St.Germain
2019-04-05 14:28:25 -04:00
committed by GitHub
5 changed files with 30 additions and 3 deletions

View File

@@ -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),
),
]

View File

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

View File

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

View File

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

View File

@@ -363,6 +363,7 @@ class CertificateGenerationTaskTest(ModuleStoreTestCase):
('verified', True),
('no-id-professional', True),
('credit', True),
('masters', True),
('audit', False),
('honor', False),
)