Files
edx-platform/lms/djangoapps/verify_student/signals.py
2017-06-11 21:48:06 -04:00

26 lines
983 B
Python

"""
Signal handler for setting default course verification dates
"""
from django.core.exceptions import ObjectDoesNotExist
from django.dispatch.dispatcher import receiver
from xmodule.modulestore.django import SignalHandler, modulestore
from .models import VerificationDeadline
@receiver(SignalHandler.course_published)
def _listen_for_course_publish(sender, course_key, **kwargs): # pylint: disable=unused-argument
"""
Catches the signal that a course has been published in Studio and
sets the verification deadline date to a default.
"""
course = modulestore().get_course(course_key)
if course:
try:
deadline = VerificationDeadline.objects.get(course_key=course_key)
if not deadline.deadline_is_explicit and deadline.deadline != course.end:
VerificationDeadline.set_deadline(course_key, course.end)
except ObjectDoesNotExist:
VerificationDeadline.set_deadline(course_key, course.end)