Files
edx-platform/lms/djangoapps/verify_student/signals.py
aarif fd3a83236a ran python-modernize and isort on files mentioned in INCR-446
changes made to comply with quality

changes made to comply with quality

changes made to comply with quality
2019-07-16 15:14:12 +05:00

35 lines
1.3 KiB
Python

"""
Signal handler for setting default course verification dates
"""
from __future__ import absolute_import
from django.core.exceptions import ObjectDoesNotExist
from django.dispatch.dispatcher import receiver
from openedx.core.djangoapps.user_api.accounts.signals import USER_RETIRE_LMS_CRITICAL
from xmodule.modulestore.django import SignalHandler, modulestore
from .models import SoftwareSecurePhotoVerification, 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)
@receiver(USER_RETIRE_LMS_CRITICAL)
def _listen_for_lms_retire(sender, **kwargs): # pylint: disable=unused-argument
user = kwargs.get('user')
SoftwareSecurePhotoVerification.retire_user(user.id)