Add revoke program certificate task.

Upon invalidating course certificate, revoke related program certificates
as well.

PROD-1271
This commit is contained in:
Waheed Ahmed
2020-04-21 15:10:24 +05:00
parent 196dcf7fb4
commit 6a7dc067da
4 changed files with 221 additions and 3 deletions

View File

@@ -74,7 +74,7 @@ from badges.events.course_meta import completion_check, course_group_check
from course_modes.models import CourseMode
from lms.djangoapps.instructor_task.models import InstructorTask
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
from openedx.core.djangoapps.signals.signals import COURSE_CERT_AWARDED, COURSE_CERT_CHANGED
from openedx.core.djangoapps.signals.signals import COURSE_CERT_AWARDED, COURSE_CERT_CHANGED, COURSE_CERT_REVOKED
from openedx.core.djangoapps.xmodule_django.models import NoneToEmptyManager
from util.milestones_helpers import fulfill_course_milestone, is_prerequisite_courses_enabled
@@ -369,8 +369,14 @@ class GeneratedCertificate(models.Model):
self.download_url = ''
self.grade = ''
self.status = CertificateStatuses.unavailable
self.save()
COURSE_CERT_REVOKED.send_robust(
sender=self.__class__,
user=self.user,
course_key=self.course_id,
mode=self.mode,
status=self.status,
)
def mark_notpassing(self, grade):
"""