diff --git a/lms/djangoapps/program_enrollments/management/commands/send_program_course_nudge_email.py b/lms/djangoapps/program_enrollments/management/commands/send_program_course_nudge_email.py index c095b2d161a1..af2bfdca752d 100644 --- a/lms/djangoapps/program_enrollments/management/commands/send_program_course_nudge_email.py +++ b/lms/djangoapps/program_enrollments/management/commands/send_program_course_nudge_email.py @@ -15,6 +15,7 @@ from django.contrib.sites.models import Site from django.core.management import BaseCommand from django.utils import timezone +from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locator import CourseLocator from common.djangoapps.track import segment @@ -140,7 +141,9 @@ def get_course_run_to_suggest(self, candidate_programs, completed_course_id, use ) break for course_run in candidate_course['course_runs']: - if self.valid_course_run(course_run) and course_run['key'] != completed_course_id: + course_org = CourseKey.from_string(course_run['key']).org + if self.valid_course_run(course_run) and course_run['key'] != completed_course_id \ + and course_org not in settings.DISABLED_ORGS_FOR_PROGRAM_NUDGE: return program, course_run, candidate_course return None, None, None diff --git a/lms/envs/common.py b/lms/envs/common.py index e354f75a8530..cb7643c3668e 100644 --- a/lms/envs/common.py +++ b/lms/envs/common.py @@ -5376,6 +5376,14 @@ def _make_locale_paths(settings): # pylint: disable=missing-function-docstring NOTIFICATION_TYPE_ICONS = {} DEFAULT_NOTIFICATION_ICON_URL = "" +############## NUDGE EMAILS ############### +# .. setting_name: DISABLED_ORGS_FOR_PROGRAM_NUDGE +# .. setting_default: [] +# .. setting_description: List of organization codes that should be disabled +# .. for program nudge emails. +# .. eg ['BTDx', 'MYTx'] +DISABLED_ORGS_FOR_PROGRAM_NUDGE = [] + ############################ AI_TRANSLATIONS ################################## AI_TRANSLATIONS_API_URL = 'http://localhost:18760/api/v1'