Fix asides to copy them during publish operation (bug in modulestore/split_mongo/split.py:SplitMongoModuleStore._copy_subdag method)
This commit is contained in:
@@ -3190,6 +3190,7 @@ class SplitMongoModuleStore(SplitBulkWriteMixin, ModuleStoreWriteBase):
|
||||
new_block.definition,
|
||||
destination_version,
|
||||
raw=True,
|
||||
asides=new_block.asides,
|
||||
block_defaults=new_block.defaults
|
||||
)
|
||||
# Extend the block's new edit_info with any extra edit_info fields from the source (e.g. original_usage):
|
||||
@@ -3246,11 +3247,12 @@ class SplitMongoModuleStore(SplitBulkWriteMixin, ModuleStoreWriteBase):
|
||||
:param definition_id: the pointer to the content scoped fields
|
||||
:param new_id: the structure's version id
|
||||
:param raw: true if this block already has all references serialized
|
||||
:param asides: dict information related to the connected xblock asides
|
||||
"""
|
||||
if not raw:
|
||||
block_fields = self._serialize_fields(category, block_fields)
|
||||
if not asides:
|
||||
asides = []
|
||||
asides = {}
|
||||
document = {
|
||||
'block_type': category,
|
||||
'definition': definition_id,
|
||||
|
||||
@@ -3395,13 +3395,17 @@ class TestAsidesWithMixedModuleStore(CommonMixedModuleStoreSetup):
|
||||
_check_asides(item)
|
||||
|
||||
# Private -> Public
|
||||
self.store.publish(item_location, self.user_id)
|
||||
published_block = self.store.publish(item_location, self.user_id)
|
||||
_check_asides(published_block)
|
||||
|
||||
item = self.store.get_item(item_location)
|
||||
self.assertTrue(self.store.has_published_version(item))
|
||||
_check_asides(item)
|
||||
|
||||
# Public -> Private
|
||||
self.store.unpublish(item_location, self.user_id)
|
||||
unpublished_block = self.store.unpublish(item_location, self.user_id)
|
||||
_check_asides(unpublished_block)
|
||||
|
||||
item = self.store.get_item(item_location)
|
||||
self.assertFalse(self.store.has_published_version(item))
|
||||
_check_asides(item)
|
||||
|
||||
Reference in New Issue
Block a user