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