Skip to content

Commit b2c9ddd

Browse files
Muhammad Faraz  MaqsoodFaraz32123
authored andcommitted
feat: get language from request user's preferences and sort according to it
1 parent f86ea5c commit b2c9ddd

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

cms/djangoapps/contentstore/asset_storage_handlers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from common.djangoapps.util.json_request import JsonResponse
2626
from openedx.core.djangoapps.contentserver.caching import del_cached_content
2727
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
28+
from openedx.core.djangoapps.user_api.models import UserPreference
2829
from openedx_filters.content_authoring.filters import LMSPageURLRequested
2930
from xmodule.contentstore.content import StaticContent # lint-amnesty, pylint: disable=wrong-import-order
3031
from xmodule.contentstore.django import contentstore # lint-amnesty, pylint: disable=wrong-import-order
@@ -194,7 +195,9 @@ def _assets_json(request, course_key):
194195
'''
195196
request_options = _parse_request_to_dictionary(request)
196197

197-
filter_parameters = {}
198+
filter_parameters = {
199+
'user_language': UserPreference.get_value(request.user, 'pref-lang') or 'en',
200+
}
198201

199202
if request_options['requested_asset_type']:
200203
filters_are_invalid_error = _get_error_if_invalid_parameters(request_options['requested_asset_type'])

xmodule/contentstore/mongo.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,9 @@ def _get_all_content_for_course(self,
311311
md5: An md5 hash of the asset content
312312
'''
313313
query = query_for_course(course_key, 'asset' if not get_thumbnails else 'thumbnail')
314+
user_language = 'en'
314315
if filter_params:
316+
user_language = filter_params.pop('user_language', 'en')
315317
query.update(filter_params)
316318

317319
# Count total matching documents
@@ -335,7 +337,9 @@ def _get_all_content_for_course(self,
335337
'thumbnail_location': 1,
336338
'md5': 1
337339
})
338-
cursor = cursor.sort('displayname', sort['displayname']).collation({'locale': 'en', 'strength': 2})
340+
cursor = cursor.sort('displayname', sort['displayname']).collation(
341+
{'locale': user_language, 'strength': 2}
342+
)
339343
else:
340344
# Apply simple sorting
341345
sort_list = list(sort.items())

0 commit comments

Comments
 (0)