SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 884b3670 authored by Jorran de Wit's avatar Jorran de Wit
Browse files

Merge branch 'citedby' into development

parents 90df664b 36b641f5
No related branches found
No related tags found
No related merge requests found
# -*- coding: utf-8 -*-
# Generated by Django 1.10.3 on 2017-07-08 09:07
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('journals', '0023_auto_20170517_1846'),
]
operations = [
migrations.AddField(
model_name='publication',
name='lastest_citedby_update',
field=models.DateTimeField(blank=True, null=True),
),
]
......@@ -148,6 +148,7 @@ class Publication(models.Model):
submission_date = models.DateField(verbose_name='submission date')
acceptance_date = models.DateField(verbose_name='acceptance date')
publication_date = models.DateField(verbose_name='publication date')
lastest_citedby_update = models.DateTimeField(null=True, blank=True)
latest_activity = models.DateTimeField(default=timezone.now)
citedby = JSONField(default={}, blank=True, null=True)
......
{% extends 'scipost/_personal_page_base.html' %}
{% block pagetitle %}: Harvest citedby data{% endblock pagetitle %}
{% load bootstrap %}
{% block breadcrumb_items %}
{{block.super}}
<span class="breadcrumb-item">Harvest citedby data</span>
{% endblock %}
{% block content %}
<div class="row">
<div class="col-12">
<h1 class="highlight">Harvest citedby data</h1>
</div>
</div>
<div class="row">
<div class="col-12">
<table class="table">
<thead>
<tr>
<th>doi</th>
<th>Publication date</th>
<th>Lastest Crossref update</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for publication in publications %}
<tr>
<td><a href="{{publication.get_absolute_url}}">{{publication.doi_label}}</a></td>
<td>{{publication.publication_date}}</td>
<td>
{% if publication.lastest_citedby_update %}
{{publication.lastest_citedby_update|timesince}} ago
{% else %}
No information available
{% endif %}
</td>
<td>
<ul>
<li><a href="{% url 'journals:harvest_citedby_links' publication.doi_label %}">Harvest citedby data now</a></li>
</ul>
</td>
</tr>
{% empty %}
<tr>
<td colspan="5">No publications found.</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock content %}
......@@ -49,6 +49,9 @@ urlpatterns = [
url(r'^metadata_xml_deposit/(?P<doi_label>[a-zA-Z]+.[0-9]+.[0-9]+.[0-9]{3,})/(?P<option>[a-z]+)$',
journals_views.metadata_xml_deposit,
name='metadata_xml_deposit'),
url(r'^harvest_citedby_links/$',
journals_views.harvest_all_publications,
name='harvest_all_publications'),
url(r'^harvest_citedby_links/(?P<doi_label>[a-zA-Z]+.[0-9]+.[0-9]+.[0-9]{3,})$',
journals_views.harvest_citedby_links,
name='harvest_citedby_links'),
......
......@@ -601,6 +601,15 @@ def metadata_xml_deposit(request, doi_label, option='test'):
return render(request, 'journals/metadata_xml_deposit.html', context)
@permission_required('scipost.can_publish_accepted_submission', return_403=True)
def harvest_all_publications(request):
publications = Publication.objects.order_by('-lastest_citedby_update', '-publication_date')
context = {
'publications': publications
}
return render(request, 'journals/harvest_citedby_list.html', context)
@permission_required('scipost.can_publish_accepted_submission', return_403=True)
@transaction.atomic
def harvest_citedby_links(request, doi_label):
......@@ -637,7 +646,7 @@ def harvest_citedby_links(request, doi_label):
if r.status_code == 401:
messages.warning(request, ('<h3>Crossref credentials are invalid.</h3>'
'Please contact the SciPost Admin.'))
return redirect(publication.get_absolute_url())
return redirect(reverse('journals:harvest_all_publications'))
response_headers = r.headers
response_text = r.text
response_deserialized = ET.fromstring(r.text)
......@@ -680,6 +689,7 @@ def harvest_citedby_links(request, doi_label):
'item_number': item_number,
'year': year, })
publication.citedby = citations
publication.lastest_citedby_update = timezone.now()
publication.save()
context = {
'publication': publication,
......
......@@ -263,6 +263,15 @@
{% endif %}
</ul>
{% if 'Editorial Administrators' in user_groups %}
<h3>Editorial Admin actions</h3>
<ul>
{% if perms.scipost.can_publish_accepted_submission %}
<li><a href="{% url 'journals:harvest_all_publications' %}">Harvest citedby data</a></li>
{% endif %}
</ul>
{% endif %}
{% if perms.scipost.can_attend_VGMs %}
<h3>Virtual General Meetings</h3>
<ul>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment