Split branch settings code review fixes LMS-11056
This commit is contained in:
committed by
Nimisha Asthagiri
parent
1dc6ea39f3
commit
167e2b675b
@@ -20,6 +20,7 @@ from xmodule.modulestore.mongo.base import (
|
||||
DIRECT_ONLY_CATEGORIES, SORT_REVISION_FAVOR_DRAFT
|
||||
)
|
||||
from xmodule.modulestore.store_utilities import rewrite_nonportable_content_links
|
||||
from xmodule.modulestore.draft_and_published import UnsupportedRevisionError
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@@ -97,7 +98,7 @@ class DraftModuleStore(MongoModuleStore):
|
||||
elif self.get_branch_setting() == ModuleStoreEnum.Branch.published_only:
|
||||
return get_published()
|
||||
|
||||
else:
|
||||
elif revision is None:
|
||||
# could use a single query wildcarding revision and sorting by revision. would need to
|
||||
# use prefix form of to_deprecated_son
|
||||
try:
|
||||
@@ -107,6 +108,9 @@ class DraftModuleStore(MongoModuleStore):
|
||||
# otherwise, fall back to the published version
|
||||
return get_published()
|
||||
|
||||
else:
|
||||
raise UnsupportedRevisionError()
|
||||
|
||||
def has_item(self, usage_key, revision=None):
|
||||
"""
|
||||
Returns True if location exists in this ModuleStore.
|
||||
@@ -127,13 +131,17 @@ class DraftModuleStore(MongoModuleStore):
|
||||
|
||||
if revision == ModuleStoreEnum.RevisionOption.draft_only:
|
||||
return has_draft()
|
||||
elif revision == ModuleStoreEnum.RevisionOption.published_only \
|
||||
or self.get_branch_setting() == ModuleStoreEnum.Branch.published_only:
|
||||
elif (
|
||||
revision == ModuleStoreEnum.RevisionOption.published_only or
|
||||
self.get_branch_setting() == ModuleStoreEnum.Branch.published_only
|
||||
):
|
||||
return has_published()
|
||||
else:
|
||||
elif revision is None:
|
||||
key = usage_key.to_deprecated_son(prefix='_id.')
|
||||
del key['_id.revision']
|
||||
return self.collection.find(key).count() > 0
|
||||
else:
|
||||
raise UnsupportedRevisionError()
|
||||
|
||||
def delete_course(self, course_key, user_id):
|
||||
"""
|
||||
@@ -342,9 +350,11 @@ class DraftModuleStore(MongoModuleStore):
|
||||
elif revision == ModuleStoreEnum.RevisionOption.published_only \
|
||||
or self.get_branch_setting() == ModuleStoreEnum.Branch.published_only:
|
||||
return published_items([])
|
||||
else:
|
||||
elif revision is None:
|
||||
draft_items = draft_items()
|
||||
return draft_items + published_items(draft_items)
|
||||
else:
|
||||
raise UnsupportedRevisionError()
|
||||
|
||||
def convert_to_draft(self, location, user_id):
|
||||
"""
|
||||
@@ -519,8 +529,12 @@ class DraftModuleStore(MongoModuleStore):
|
||||
elif revision is None:
|
||||
as_functions = [as_draft]
|
||||
else:
|
||||
raise self._unsupported_revision_error(
|
||||
[None, ModuleStoreEnum.RevisionOption.published_only, ModuleStoreEnum.RevisionOption.all]
|
||||
raise UnsupportedRevisionError(
|
||||
[
|
||||
None,
|
||||
ModuleStoreEnum.RevisionOption.published_only,
|
||||
ModuleStoreEnum.RevisionOption.all
|
||||
]
|
||||
)
|
||||
self._delete_subtree(location, as_functions)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user