diff --git a/signbank/dictionary/adminviews.py b/signbank/dictionary/adminviews.py index 7c91c463..631e1d73 100755 --- a/signbank/dictionary/adminviews.py +++ b/signbank/dictionary/adminviews.py @@ -6549,7 +6549,6 @@ def get_context_data(self, **kwargs): field='Location', machine_value__gt=1).order_by('name')] context['available_locprim'] = available_locprim - # data structures to store the query parameters in order to keep them in the form context['query_parameters'] = json.dumps(self.query_parameters) query_parameters_keys = list(self.query_parameters.keys()) context['query_parameters_keys'] = json.dumps(query_parameters_keys) @@ -6557,52 +6556,36 @@ def get_context_data(self, **kwargs): context['SHOW_DATASET_INTERFACE_OPTIONS'] = getattr(settings, 'SHOW_DATASET_INTERFACE_OPTIONS', False) context['USE_REGULAR_EXPRESSIONS'] = getattr(settings, 'USE_REGULAR_EXPRESSIONS', False) - # construct scroll bar - # the following retrieves language code for English (or DEFAULT LANGUAGE) - # so the sorting of the scroll bar matches the default sorting of the results in Gloss List View - - list_of_objects = self.object_list - - (interface_language, interface_language_code, - default_language, default_language_code) = get_interface_language_and_default_language_codes(self.request) - - dataset_display_languages = [] - for lang in dataset_languages: - dataset_display_languages.append(lang.language_code_2char) - if interface_language_code in dataset_display_languages: - lang_attr_name = interface_language_code - else: - lang_attr_name = default_language_code - - items = construct_scrollbar(list_of_objects, self.search_type, lang_attr_name) - self.request.session['search_results'] = items - return context def get_queryset(self): - # this is a ListView for a complicated data structure selected_datasets = get_selected_datasets_for_user(self.request.user) if not selected_datasets or selected_datasets.count() > 1: feedback_message = _('Please select a single dataset to use Batch Edit.') messages.add_message(self.request, messages.ERROR, feedback_message) - # the query set is a list of tuples (gloss, keyword_translations, senses_groups) - return [] + return Gloss.objects.none() - get = self.request.GET + if 'search_results' in self.request.session.keys(): + search_results = self.request.session['search_results'] + if len(search_results) > 0: + if search_results[0]['href_type'] not in ['gloss']: + search_results = [] + else: + search_results = [] - # multilingual - # this needs to be sorted for jquery purposes - dataset_languages = get_dataset_languages(selected_datasets).order_by('id') + (objects_on_page, object_list) = map_search_results_to_gloss_list(search_results) - if get: - glosses_of_datasets = Gloss.none_morpheme_objects().filter(lemma__dataset__in=selected_datasets) + get = self.request.GET + + if not get: + glosses_of_dataset = object_list else: - recently_added_signs_since_date = DT.datetime.now(tz=get_current_timezone()) - RECENTLY_ADDED_SIGNS_PERIOD - glosses_of_datasets = Gloss.objects.filter(morpheme=None, lemma__dataset__in=selected_datasets).filter( - creationDate__range=[recently_added_signs_since_date, DT.datetime.now(tz=get_current_timezone())]).order_by( - 'creationDate') + glosses_of_dataset = Gloss.none_morpheme_objects().filter(lemma__dataset__in=selected_datasets) + + if not get: + return glosses_of_dataset # data structure to store the query parameters in order to keep them in the form query_parameters = dict() @@ -6613,12 +6596,12 @@ def get_queryset(self): query_parameters['tags[]'] = vals glosses_with_tag = list( TaggedItem.objects.filter(tag__id__in=vals).values_list('object_id', flat=True)) - glosses_of_datasets = glosses_of_datasets.filter(id__in=glosses_with_tag) + glosses_of_dataset = glosses_of_dataset.filter(id__in=glosses_with_tag) if 'createdBy' in get and get['createdBy']: get_value = get['createdBy'] query_parameters['createdBy'] = get_value.strip() created_by_search_string = ' '.join(get_value.strip().split()) # remove redundant spaces - glosses_of_datasets = glosses_of_datasets.annotate( + glosses_of_dataset = glosses_of_dataset.annotate( created_by=Concat('creator__first_name', V(' '), 'creator__last_name', output_field=CharField())) \ .filter(created_by__icontains=created_by_search_string) @@ -6627,7 +6610,7 @@ def get_queryset(self): self.request.session.modified = True self.query_parameters = query_parameters - return glosses_of_datasets + return glosses_of_dataset class ToggleListView(ListView): diff --git a/signbank/dictionary/templates/dictionary/admin_batch_edit_view.html b/signbank/dictionary/templates/dictionary/admin_batch_edit_view.html index 6abef4c5..019097a5 100644 --- a/signbank/dictionary/templates/dictionary/admin_batch_edit_view.html +++ b/signbank/dictionary/templates/dictionary/admin_batch_edit_view.html @@ -220,7 +220,7 @@

{% trans "Batch Edit View" %}

-

{% trans "On initial view, prior to searching, recently added glosses are shown below." %}

+

{% trans "On initial view, the most recent query results are shown." %}

@@ -228,7 +228,7 @@

{% trans "On initial view, prior to searching, recently added glosses are sh
{% trans "Construct Filter" %}
-
+