diff --git a/cms/djangoapps/contentstore/asset_storage_handlers.py b/cms/djangoapps/contentstore/asset_storage_handlers.py index e49c6fe1f7..02857b11de 100644 --- a/cms/djangoapps/contentstore/asset_storage_handlers.py +++ b/cms/djangoapps/contentstore/asset_storage_handlers.py @@ -25,6 +25,7 @@ from common.djangoapps.util.date_utils import get_default_time_display from common.djangoapps.util.json_request import JsonResponse from openedx.core.djangoapps.contentserver.caching import del_cached_content from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers +from openedx.core.djangoapps.user_api.models import UserPreference from openedx_filters.content_authoring.filters import LMSPageURLRequested from xmodule.contentstore.content import StaticContent # lint-amnesty, pylint: disable=wrong-import-order from xmodule.contentstore.django import contentstore # lint-amnesty, pylint: disable=wrong-import-order @@ -194,7 +195,9 @@ def _assets_json(request, course_key): ''' request_options = _parse_request_to_dictionary(request) - filter_parameters = {} + filter_parameters = { + 'user_language': UserPreference.get_value(request.user, 'pref-lang') or 'en', + } if request_options['requested_asset_type']: filters_are_invalid_error = _get_error_if_invalid_parameters(request_options['requested_asset_type']) diff --git a/xmodule/contentstore/mongo.py b/xmodule/contentstore/mongo.py index b436474f17..4860f81605 100644 --- a/xmodule/contentstore/mongo.py +++ b/xmodule/contentstore/mongo.py @@ -311,7 +311,9 @@ class MongoContentStore(ContentStore): md5: An md5 hash of the asset content ''' query = query_for_course(course_key, 'asset' if not get_thumbnails else 'thumbnail') + user_language = 'en' if filter_params: + user_language = filter_params.pop('user_language', 'en') query.update(filter_params) # Count total matching documents @@ -335,7 +337,9 @@ class MongoContentStore(ContentStore): 'thumbnail_location': 1, 'md5': 1 }) - cursor = cursor.sort('displayname', sort['displayname']).collation({'locale': 'en', 'strength': 2}) + cursor = cursor.sort('displayname', sort['displayname']).collation( + {'locale': user_language, 'strength': 2} + ) else: # Apply simple sorting sort_list = list(sort.items())