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