From 147405df769fa226962150a6bb7aa1f6bbb1b41d Mon Sep 17 00:00:00 2001 From: Gregory Martin Date: Fri, 18 Aug 2017 15:01:34 -0400 Subject: [PATCH] Update Flag handling --- lms/djangoapps/certificates/signals.py | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/lms/djangoapps/certificates/signals.py b/lms/djangoapps/certificates/signals.py index e8ccff4844..44b1680925 100644 --- a/lms/djangoapps/certificates/signals.py +++ b/lms/djangoapps/certificates/signals.py @@ -24,21 +24,18 @@ log = logging.getLogger(__name__) @receiver(post_save, sender=CertificateWhitelist, dispatch_uid="append_certificate_whitelist") def _listen_for_certificate_whitelist_append(sender, instance, **kwargs): # pylint: disable=unused-argument switches = waffle.waffle() - # All flags enabled + # No flags enabled if ( not switches.is_enabled(waffle.SELF_PACED_ONLY) and not switches.is_enabled(waffle.INSTRUCTOR_PACED_ONLY) ): return - # Only SELF_PACED_ONLY flag enabled - if not switches.is_enabled(waffle.INSTRUCTOR_PACED_ONLY): - if not courses.get_course_by_id(instance.course_id, depth=0).self_paced: + if courses.get_course_by_id(instance.course_id, depth=0).self_paced: + if not switches.is_enabled(waffle.SELF_PACED_ONLY): return - - # Only INSTRUCTOR_PACED_ONLY flag enabled - if not switches.is_enabled(waffle.SELF_PACED_ONLY): - if courses.get_course_by_id(instance.course_id, depth=0).self_paced: + else: + if not switches.is_enabled(waffle.INSTRUCTOR_PACED_ONLY): return fire_ungenerated_certificate_task(instance.user, instance.course_id) @@ -61,15 +58,13 @@ def _listen_for_passing_grade(sender, user, course_id, **kwargs): # pylint: dis ): return - # Only SELF_PACED_ONLY flag enabled - if waffle.waffle().is_enabled(waffle.SELF_PACED_ONLY): - if not courses.get_course_by_id(course_id, depth=0).self_paced: + if courses.get_course_by_id(course_id, depth=0).self_paced: + if not waffle.waffle().is_enabled(waffle.SELF_PACED_ONLY): + return + else: + if not waffle.waffle().is_enabled(waffle.INSTRUCTOR_PACED_ONLY): return - # Only INSTRUCTOR_PACED_ONLY flag enabled - if waffle.waffle().is_enabled(waffle.INSTRUCTOR_PACED_ONLY): - if courses.get_course_by_id(course_id, depth=0).self_paced: - return if fire_ungenerated_certificate_task(user, course_id): log.info(u'Certificate generation task initiated for {user} : {course} via passing grade'.format( user=user.id,