Add filtering by languages

Translation records can be filtered by language, this allows
to find top contributors within a language.

Language selector is moved above module selector to pay more
attention to it.

Change-Id: I52b61e5cf509bfef9375431bf558314def81772c
This commit is contained in:
Ilya Shakhat
2018-11-16 00:18:40 +04:00
parent 1650fb1c9a
commit 34386f4e6e
5 changed files with 67 additions and 23 deletions

View File

@@ -247,6 +247,13 @@ def record_filter(ignore=None):
record_ids, _filter_records_by_days(start_date, end_date,
memory_storage_inst))
# filtering by non-indexed attributes goes last
language = params['language']
if language:
record_ids = (
set(memory_storage_inst.get_record_ids_by_languages(
record_ids, language)))
kwargs['record_ids'] = record_ids
kwargs['records'] = memory_storage_inst.get_records(record_ids)
@@ -454,6 +461,9 @@ def templated(template=None, return_code=200):
ctx['user_inst'] = vault.get_user_from_runtime_storage(
ctx['user_id'])
ctx['language'] = parameters.get_single_parameter(
kwargs, 'language')
ctx['page_title'] = helpers.make_page_title(
ctx['project_type_inst'],
ctx.get('release'), ctx.get('module_inst'),