feat: get language from request user's preferences and sort according to it
This commit is contained in:
committed by
Muhammad Faraz Maqsood
parent
f86ea5cb07
commit
b2c9dddb84
@@ -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'])
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user