From 5ea77433d3ad7b39e4b12b0c204d1ea897681dc2 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 27 Feb 2020 10:00:40 -0500 Subject: [PATCH] Only extract published dates into edx-when --- openedx/core/djangoapps/course_date_signals/handlers.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/openedx/core/djangoapps/course_date_signals/handlers.py b/openedx/core/djangoapps/course_date_signals/handlers.py index 0d8eb2ae0d..2639f097aa 100644 --- a/openedx/core/djangoapps/course_date_signals/handlers.py +++ b/openedx/core/djangoapps/course_date_signals/handlers.py @@ -6,6 +6,7 @@ import logging from django.dispatch import receiver from six import text_type from xblock.fields import Scope +from xmodule.modulestore import ModuleStoreEnum from xmodule.modulestore.django import SignalHandler, modulestore from .models import SelfPacedRelativeDatesConfig from .utils import get_expected_duration @@ -63,7 +64,9 @@ def extract_dates_from_course(course): items.extend(next_item.get_children()) else: date_items = [] - items = modulestore().get_items(course.id) + store = modulestore() + with store.branch_setting(ModuleStoreEnum.Branch.published_only, course.id): + items = store.get_items(course.id) log.info('Extracting dates from %d items in %s', len(items), course.id) for item in items: date_items.append((item.location, _field_values(FIELDS_TO_EXTRACT, item))) @@ -75,7 +78,9 @@ def extract_dates(sender, course_key, **kwargs): # pylint: disable=unused-argum """ Extract dates from blocks when publishing a course. """ - course = modulestore().get_course(course_key) + store = modulestore() + with store.branch_setting(ModuleStoreEnum.Branch.published_only, course_key): + course = store.get_course(course_key) if not course: log.info("No course found for key %s to extract dates from", course_key)