Unverified Commit fabccf61 by Nimisha Asthagiri Committed by GitHub

Merge pull request #16614 from edx/pacing/enable-highlights-field

Add highlights_enabled_for_messaging course field
parents a4474385 3ae87dd9
...@@ -1190,8 +1190,9 @@ def create_xblock_info(xblock, data=None, metadata=None, include_ancestor_info=F ...@@ -1190,8 +1190,9 @@ def create_xblock_info(xblock, data=None, metadata=None, include_ancestor_info=F
}) })
elif xblock.category == 'chapter': elif xblock.category == 'chapter':
xblock_info.update({ xblock_info.update({
'highlights': getattr(xblock, 'highlights', []), 'highlights': xblock.highlights,
'highlights_enabled': highlights_setting.is_enabled(), 'highlights_enabled': highlights_setting.is_enabled(),
'highlights_enabled_for_messaging': course.highlights_enabled_for_messaging,
'highlights_preview_only': not COURSE_UPDATE_WAFFLE_FLAG.is_enabled(course.id), 'highlights_preview_only': not COURSE_UPDATE_WAFFLE_FLAG.is_enabled(course.id),
'highlights_doc_url': HelpUrlExpert.the_one().url_for_token('content_highlights'), 'highlights_doc_url': HelpUrlExpert.the_one().url_for_token('content_highlights'),
}) })
......
...@@ -2573,7 +2573,9 @@ class TestXBlockInfo(ItemTest): ...@@ -2573,7 +2573,9 @@ class TestXBlockInfo(ItemTest):
self.assertEqual(xblock_info['start'], DEFAULT_START_DATE.strftime('%Y-%m-%dT%H:%M:%SZ')) self.assertEqual(xblock_info['start'], DEFAULT_START_DATE.strftime('%Y-%m-%dT%H:%M:%SZ'))
def test_highlights_enabled(self): def test_highlights_enabled(self):
chapter = modulestore().get_item(self.chapter.location) self.course.highlights_enabled_for_messaging = True
self.store.update_item(self.course, None)
chapter = self.store.get_item(self.chapter.location)
with highlights_setting.override(): with highlights_setting.override():
xblock_info = create_xblock_info(chapter) xblock_info = create_xblock_info(chapter)
self.assertTrue(xblock_info['highlights_enabled']) self.assertTrue(xblock_info['highlights_enabled'])
...@@ -2606,6 +2608,7 @@ class TestXBlockInfo(ItemTest): ...@@ -2606,6 +2608,7 @@ class TestXBlockInfo(ItemTest):
self.assertEqual(xblock_info['format'], None) self.assertEqual(xblock_info['format'], None)
self.assertEqual(xblock_info['highlights'], self.chapter.highlights) self.assertEqual(xblock_info['highlights'], self.chapter.highlights)
self.assertFalse(xblock_info['highlights_enabled']) self.assertFalse(xblock_info['highlights_enabled'])
self.assertFalse(xblock_info['highlights_enabled_for_messaging'])
# Finally, validate the entire response for consistency # Finally, validate the entire response for consistency
self.validate_xblock_info_consistency(xblock_info, has_child_info=has_child_info) self.validate_xblock_info_consistency(xblock_info, has_child_info=has_child_info)
......
...@@ -28,6 +28,7 @@ class CourseMetadata(object): ...@@ -28,6 +28,7 @@ class CourseMetadata(object):
'end', 'end',
'enrollment_start', 'enrollment_start',
'enrollment_end', 'enrollment_end',
'certificate_available_date',
'tabs', 'tabs',
'graceperiod', 'graceperiod',
'show_timezone', 'show_timezone',
...@@ -59,6 +60,7 @@ class CourseMetadata(object): ...@@ -59,6 +60,7 @@ class CourseMetadata(object):
'show_correctness', 'show_correctness',
'chrome', 'chrome',
'default_tab', 'default_tab',
'highlights_enabled_for_messaging',
] ]
@classmethod @classmethod
...@@ -108,13 +110,6 @@ class CourseMetadata(object): ...@@ -108,13 +110,6 @@ class CourseMetadata(object):
if not XBlockStudioConfigurationFlag.is_enabled(): if not XBlockStudioConfigurationFlag.is_enabled():
filtered_list.append('allow_unsupported_xblocks') filtered_list.append('allow_unsupported_xblocks')
# TODO: https://openedx.atlassian.net/browse/EDUCATOR-736
# Before we roll out the auto-certs feature, move this to a good, shared
# place such that we're not repeating code found in LMS.
switches = WaffleSwitchNamespace(name=u'certificates', log_prefix=u'Certificates: ')
if not switches.is_enabled(u'instructor_paced_only'):
filtered_list.append('certificate_available_date')
return filtered_list return filtered_list
@classmethod @classmethod
......
...@@ -869,6 +869,14 @@ class CourseFields(object): ...@@ -869,6 +869,14 @@ class CourseFields(object):
), ),
scope=Scope.settings, default=False scope=Scope.settings, default=False
) )
highlights_enabled_for_messaging = Boolean(
display_name=_("Highlights Enabled for Messaging"),
help=_(
"Enter true or false. If true, any highlights associated with content in the course will be messaged "
"to learners at their scheduled time."
),
scope=Scope.settings, default=False
)
class CourseModule(CourseFields, SequenceModule): # pylint: disable=abstract-method class CourseModule(CourseFields, SequenceModule): # pylint: disable=abstract-method
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment