diff --git a/finances/templates/finances/business_model.html b/finances/templates/finances/business_model.html index 074f9731db2f1f4625895b48f6535edc374ca784..34ceea755d7e837c5f4163b5f9ab594f259cc186 100644 --- a/finances/templates/finances/business_model.html +++ b/finances/templates/finances/business_model.html @@ -202,7 +202,7 @@ </p> <p> This information is prefilled by our editorial administration - at the moment of publication based on a reasonable guess, + at the moment of publication based on a reasonable estimate, which the authors are then asked to correct/complement/confirm (see image). These pubfractions are then automatically compiled and linked to the relevant diff --git a/finances/templates/finances/finances.html b/finances/templates/finances/finances.html index fdb570bb1d63f439444ed8001ec8e4ffa2eabcc0..c8e424bf6e9eed8c41e724fd815ece4af8417868 100644 --- a/finances/templates/finances/finances.html +++ b/finances/templates/finances/finances.html @@ -15,6 +15,10 @@ <div class="col-12"> <h2>Finances</h2> + <h3 class="highlight">Business Model</h3> + <p>Visit our <a href="{% url 'finances:business_model' %}">business model page</a> + to get a quick run-down on how we make our operations sustainable.</p> + <h3 class="highlight">Sponsors</h3> <p>Visit our <a href="{% url 'sponsors:sponsors' %}">Sponsors page</a> to view our list of sponsors and more information on our sponsorship scheme.</p> diff --git a/organizations/models.py b/organizations/models.py index 53d896ebf396971db42c45b2869248e45d8dc360..376bf3fe867eceff170b2063dad9a241021a7537 100644 --- a/organizations/models.py +++ b/organizations/models.py @@ -138,10 +138,18 @@ class Organization(models.Model): """ Returns the sum of pubfractions for the given year. """ - return OrgPubFraction.objects.filter( + fractions = OrgPubFraction.objects.filter( organization=self, - publication__publication_date__year=year - ).aggregate(Sum('fraction'))['fraction__sum'] + publication__publication_date__year=year) + return { + 'confirmed': fractions.filter( + publication__pubfractions_confirmed_by_authors=True + ).aggregate(Sum('fraction'))['fraction__sum'], + 'estimated': fractions.filter( + publication__pubfractions_confirmed_by_authors=False + ).aggregate(Sum('fraction'))['fraction__sum'], + 'total': fractions.aggregate(Sum('fraction'))['fraction__sum'] + } def get_author_profiles(self): """ diff --git a/organizations/templates/organizations/_organization_card.html b/organizations/templates/organizations/_organization_card.html index 7ab832722419b6b1022f3aa2c06bde9f57966d12..0a85b44ffbf5a50b54fcc921b8869304ac5e9ae0 100644 --- a/organizations/templates/organizations/_organization_card.html +++ b/organizations/templates/organizations/_organization_card.html @@ -76,11 +76,10 @@ </div> <div class="tab-pane show active pt-4" id="publications-{{ org.id }}" role="tabpanel" aria-labelledby="publications-{{ org.id }}-tab"> - <h3>Publications associated to this Organization{% if perms.scipost.can_manage_organizations or "can_view_org_contacts" in user_org_perms %} - <span class="text-muted small">(with total PubFractions <i class="fa fa-info-circle" data-toggle="tooltip" data-html="true" title="" data-original-title="Fraction of a publication's funding/institutional support associated to a given Organization"></i>)</span>{% endif %}:</h3> + <h3>Publications associated to this Organization + <span class="text-muted small">(with PubFractions <i class="fa fa-info-circle" data-toggle="tooltip" data-html="true" title="" data-original-title="Fraction of a publication's funding/institutional support associated to a given Organization"></i>)</span>:</h3> {% for pubyear in pubyears %} - <h4>{{ pubyear }}{% if perms.scipost.can_manage_organizations or "can_view_org_contacts" in user_org_perms %} - <span class="text-muted small">(total pubfractions: {{ org|pubfractions_in_year:pubyear }})</span>{% endif %}</h4> + <h4>{{ pubyear }} <span class="text-muted small">(PubFractions {{ org|pubfractions_in_year:pubyear }})</span></h4> <ul> {% for publication in org.get_publications %} {% if publication.publication_date|date:'Y'|add:"0" == pubyear %} diff --git a/organizations/templatetags/organizations_extras.py b/organizations/templatetags/organizations_extras.py index da588190d127928f588a98b71f4c3ffac6b45522..cef54b010757bb5de9be8de5a256dc50f2ec71d3 100644 --- a/organizations/templatetags/organizations_extras.py +++ b/organizations/templatetags/organizations_extras.py @@ -13,4 +13,16 @@ def pubfraction_for_publication(org, publication): @register.filter(name='pubfractions_in_year') def pubfractions_in_year(org, year): - return org.pubfractions_in_year(int(year)) + fractions = org.pubfractions_in_year(int(year)) + if not fractions['total']: + return "total: 0" + text = "total: %s" % fractions['total'] + if fractions['confirmed'] == fractions['total']: + text += " (confirmed)" + return text + elif fractions['estimated'] == fractions['total']: + text += " (estimated)" + return text + text += " (confirmed: %s; estimated: %s)" % ( + fractions['confirmed'], fractions['estimated']) + return text diff --git a/scipost/templates/scipost/navbar.html b/scipost/templates/scipost/navbar.html index a53fc2ac9dd25c6090c60329ac3b6682a6d63618..e8441ac20f02f1559c388f44be612ff3253dac49 100644 --- a/scipost/templates/scipost/navbar.html +++ b/scipost/templates/scipost/navbar.html @@ -156,6 +156,11 @@ <div class="dropdown-divider"></div> + <div class="dropdown-item"> + <a href="{% url 'finances:business_model' %}">Our Business Model</a> + <i class="fa fa-angle-right" aria-hidden="true"></i> + </div> + <div class="dropdown-item"> <a href="{% url 'organizations:organizations' %}">Organizations<br/><span class="small">benefitting from our activities</span></a> <i class="fa fa-angle-right" aria-hidden="true"></i> diff --git a/sponsors/templates/sponsors/sponsors.html b/sponsors/templates/sponsors/sponsors.html index c8173bfb67c652a9c9d95305c0df20d27c49a2ef..b448b8e4429805fadb7b85d45f913cb93f5987e5 100644 --- a/sponsors/templates/sponsors/sponsors.html +++ b/sponsors/templates/sponsors/sponsors.html @@ -72,7 +72,7 @@ <div class="row"> <div class="col-12"> - <h3>In a nutshell, for the business savvy: support our model to reduce your costs</h3> + <h3>We aim to establish a healthier <a href="{% url 'finances:business_model' %}" target="_blank">business model</a> for scientific publishing</h3> <p>We are able to run a fully sustainable infrastructure at an estimated cost of under €400 per publication, much below the current norm for APCs. The more scientists shift their publishing to SciPost, the fewer subscription/article processing charges you will have to pay as an organization. Your sponsorship will help us scale up and make our initiative sustainable.</p> </div> </div>