From 1cbdbba119562c1d23e4c5ee359467020c6a605d Mon Sep 17 00:00:00 2001 From: Boris Ponsioen <b.g.t.ponsioen@uva.nl> Date: Thu, 1 Feb 2018 10:24:17 +0100 Subject: [PATCH] Makes small template enhancements --- metacore/forms.py | 2 +- metacore/managers.py | 3 +++ metacore/models.py | 2 +- metacore/templates/citable_list.html | 2 +- metacore/views.py | 3 ++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/metacore/forms.py b/metacore/forms.py index 63bb35e54..1d6ce972e 100644 --- a/metacore/forms.py +++ b/metacore/forms.py @@ -10,7 +10,7 @@ class CitableSearchForm(forms.Form): def search_results(self): """Return all Citable objects according to search""" - return Citable.objects.filter( + return Citable.objects.simple().filter( title__icontains=self.cleaned_data.get('title', ''), authors__icontains=self.cleaned_data.get('author', ''), publisher__icontains=self.cleaned_data.get('publisher', ''), diff --git a/metacore/managers.py b/metacore/managers.py index dd4a783e4..d32ea5b7e 100644 --- a/metacore/managers.py +++ b/metacore/managers.py @@ -5,3 +5,6 @@ class CitableQuerySet(QuerySet): def cited_by(self, dois): return self.only('references').filter(references__in=dois) + + def simple(self): + return self.only('doi', 'title', 'authors', 'metadata.is-referenced-by-count', 'publication_date', 'publisher') diff --git a/metacore/models.py b/metacore/models.py index 8e3bbe527..776034d61 100644 --- a/metacore/models.py +++ b/metacore/models.py @@ -30,7 +30,7 @@ class Citable(DynamicDocument): # Settings for mongoengine meta = { 'queryset_class': CitableQuerySet, # use the custom queryset - 'indexes': ['doi'], # define indices on database + 'indexes': ['doi', 'authors', 'title', 'publication_date', 'publisher'], # define indices on database 'allow_inheritance': True } diff --git a/metacore/templates/citable_list.html b/metacore/templates/citable_list.html index 100bc5293..23fdcb039 100644 --- a/metacore/templates/citable_list.html +++ b/metacore/templates/citable_list.html @@ -41,7 +41,7 @@ {% if browse %} <h2>Citables </h2> {% else %} - <h2>Search results:</h3> + <h2>Search results ({{ object_list.count }} total):</h3> {% endif %} </div> {% if is_paginated %} diff --git a/metacore/views.py b/metacore/views.py index 79df1b60a..51650641a 100644 --- a/metacore/views.py +++ b/metacore/views.py @@ -18,7 +18,8 @@ class CitableListView(ListView): if self.form.is_valid() and self.form.has_changed(): queryset = self.form.search_results() else: - queryset = Citable.objects.limit(100) + # queryset = Citable.objects.simple().limit(100) + queryset = Citable.objects.simple().order_by('-metadata.is-referenced-by-count').limit(100) return queryset -- GitLab