update user partition and access_denied_message_filter transformers

This commit is contained in:
Matthew Piatetsky
2019-03-13 11:13:19 -04:00
committed by Matthew Piatetsky
parent aa06f51dd5
commit 4bb539c9aa
15 changed files with 203 additions and 44 deletions

View File

@@ -5,6 +5,7 @@ API function for retrieving course blocks data
import lms.djangoapps.course_blocks.api as course_blocks_api
from lms.djangoapps.course_blocks.transformers.hidden_content import HiddenContentTransformer
from lms.djangoapps.course_blocks.transformers.hide_empty import HideEmptyTransformer
from lms.djangoapps.course_blocks.transformers.access_denied_filter import AccessDeniedMessageFilterTransformer
from openedx.core.djangoapps.content.block_structure.transformers import BlockStructureTransformers
from openedx.core.lib.mobile_utils import is_request_from_mobile_app
@@ -25,6 +26,7 @@ def get_blocks(
student_view_data=None,
return_type='dict',
block_types_filter=None,
hide_access_denials=False,
):
"""
Return a serialized representation of the course blocks.
@@ -51,6 +53,9 @@ def get_blocks(
the format for returning the blocks.
block_types_filter (list): Optional list of block type names used to filter
the final result of returned blocks.
hide_access_denials (bool): When True, filter out any blocks that were
denied access to the user, even if they have access denial messages
attached.
"""
# create ordered list of transformers, adding BlocksAPITransformer at end.
transformers = BlockStructureTransformers()
@@ -70,6 +75,9 @@ def get_blocks(
HiddenContentTransformer()
]
if hide_access_denials:
transformers += [AccessDeniedMessageFilterTransformer()]
# TODO: Remove this after REVE-52 lands and old-mobile-app traffic falls to < 5% of mobile traffic
if is_request_from_mobile_app(request):
transformers += [HideEmptyTransformer()]