From b342ba256c951264f66cf6f29080d94fdff2cb78 Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Wed, 10 Oct 2018 16:44:23 +0200
Subject: [PATCH] Improve display of pubfractions

---
 organizations/models.py                               | 11 +++++++++++
 .../templates/organizations/_organization_card.html   |  3 +++
 organizations/templatetags/organizations_extras.py    |  4 ++++
 3 files changed, 18 insertions(+)

diff --git a/organizations/models.py b/organizations/models.py
index d6c211f23..6a7d9355c 100644
--- a/organizations/models.py
+++ b/organizations/models.py
@@ -105,6 +105,17 @@ class Organization(models.Model):
         self.cf_nr_associated_publications = self.count_publications()
         self.save()
 
+    def pubfraction_for_publication(self, doi_label):
+        """
+        Return the organization's pubfraction for this publication, or the string 'Not defined'.
+        """
+        try:
+            return OrgPubFraction.objects.get(
+                organization=self,
+                publication__doi_label=doi_label).fraction
+        except:
+            return 'Not yet defined'
+
     def pubfractions_in_year(self, year):
         """
         Returns the sum of pubfractions for the given year.
diff --git a/organizations/templates/organizations/_organization_card.html b/organizations/templates/organizations/_organization_card.html
index 0c97c90e4..ae6651462 100644
--- a/organizations/templates/organizations/_organization_card.html
+++ b/organizations/templates/organizations/_organization_card.html
@@ -60,6 +60,9 @@ $(document).ready(function($) {
               <a href="{{ publication.get_absolute_url }}">{{ publication.title }}</a>
               <br>by {{ publication.author_list }},
               <br>{{ publication.citation }}
+	      {% if is_scipost_admin %}
+	      <br><span class="text-muted small">Pubfraction: {{ org|pubfraction_for_publication:publication }}</span>
+	      {% endif %}
 	    </li>
 	    {% endif %}
 	    {% endfor %}
diff --git a/organizations/templatetags/organizations_extras.py b/organizations/templatetags/organizations_extras.py
index 80a183688..513ec33f3 100644
--- a/organizations/templatetags/organizations_extras.py
+++ b/organizations/templatetags/organizations_extras.py
@@ -7,6 +7,10 @@ from django import template
 register = template.Library()
 
 
+@register.filter(name='pubfraction_for_publication')
+def pubfraction_for_publication(org, publication):
+    return org.pubfraction_for_publication(publication.doi_label)
+
 @register.filter(name='pubfractions_in_year')
 def pubfractions_in_year(org, year):
     return org.pubfractions_in_year(int(year))
-- 
GitLab