diff --git a/entries/views.py b/entries/views.py index e9be91948c4b80a2c05d85fe84aa818b7e86a1a1..7891091c8c3e4cc86f236b3d77d7abbdb7213c71 100644 --- a/entries/views.py +++ b/entries/views.py @@ -412,7 +412,6 @@ def get_entries(request): total = entries.count() if scroller_params['filter']: entries = entries.filter(name__startswith=scroller_params['filter']) - filtered = entries.count() local_frame_form = None if 'frame_form' in request.session: @@ -452,6 +451,11 @@ def get_entries(request): ) if with_lexical_units: + if exclude_status is not None: + entries = entries.filter(lexical_units__frames__status__iexact=exclude_status) + entries = entries.filter(lexical_units__frames__isnull=False) + if has_unified_frame == 'true': + entries = entries.filter(lexical_units__frames__slowal_frame_2_unified_frame__isnull=False) frameQueryset = Frame.objects.select_related("slowal_frame_2_unified_frame").prefetch_related(Prefetch("assignments", to_attr="_assignments")); entries = entries.prefetch_related( Prefetch( @@ -466,6 +470,8 @@ def get_entries(request): ) ) + filtered = entries.count() + status_names = STATUS() POS_names = POS() @@ -476,10 +482,6 @@ def get_entries(request): continue else: yield lu - import datetime - now = datetime.datetime.now() - print("1 Current date and time : ") - print(now.strftime("%Y-%m-%d %H:%M:%S")) result = { 'draw' : scroller_params['draw'], @@ -509,34 +511,10 @@ def get_entries(request): } if with_lexical_units else {} ), - } for e in (entries if with_lexical_units else entries[first_index:last_index]) + } for e in entries[first_index:last_index] ], } - now = datetime.datetime.now() - print("2 Current date and time : ") - print(now.strftime("%Y-%m-%d %H:%M:%S")) - - if with_lexical_units: - filteredData = [] - for entry in result['data']: - lexicalUnits = entry['lexical_units'] - filteredLexicalUnits = [] - for lexicalUnit in lexicalUnits: - if (exclude_status is None or lexicalUnit['status'] != exclude_status) and \ - (restrict_to_user is None or lexicalUnit['assignee_username'] == restrict_to_user) and \ - (has_unified_frame != 'true' or lexicalUnit['unified_frame_id'] != -1): - filteredLexicalUnits.append(lexicalUnit) - entry['lexical_units'] = filteredLexicalUnits - if len(filteredLexicalUnits) > 0: - filteredData.append(entry) - - result['data'] = filteredData[first_index:last_index] - - now = datetime.datetime.now() - print("3 Current date and time : ") - print(now.strftime("%Y-%m-%d %H:%M:%S")) - return JsonResponse(result) return JsonResponse({})