diff --git a/journals/models.py b/journals/models.py index 3d4077434d3b50ccbe061b5799ce9bd6bb355419..b3f9f914c58eae30bd59e4fd517442e4f189800d 100644 --- a/journals/models.py +++ b/journals/models.py @@ -146,6 +146,10 @@ class Publication(models.Model): def get_absolute_url(self): return reverse('scipost:publication_detail', args=[self.doi_string]) + @property + def complete_doi_string(self): + return '10.21468/' + self.doi_string + def get_paper_nr(self): return paper_nr_string(self.paper_nr) diff --git a/journals/templates/journals/_publication_details.html b/journals/templates/journals/_publication_details.html index 00c380eae42234ee2defbf909ef869bd97123aa3..091aba0175643f555ac37355d0862fd887aafffc 100644 --- a/journals/templates/journals/_publication_details.html +++ b/journals/templates/journals/_publication_details.html @@ -8,7 +8,7 @@ <p class="text-muted">{{ publication.citation }} | published {{ publication.publication_date|date:'j F Y' }}</p> <ul class="publicationClickables"> - <li>doi: {{publication.doi_string}}</li> + <li>doi: {{publication.complete_doi_string}}</li> <li class="publicationPDF"> <a href="{{publication.get_absolute_url}}/pdf" target="_blank">pdf</a> </li> diff --git a/journals/views.py b/journals/views.py index 78e630e43c74249d3d3163422a152292b86cb7c3..5b20e8551f021012b9b437d6d56e0f3e47e4eed5 100644 --- a/journals/views.py +++ b/journals/views.py @@ -5,7 +5,9 @@ import requests import string import xml.etree.ElementTree as ET +from django.core.urlresolvers import reverse from django.conf import settings +from django.contrib import messages from django.utils import timezone from django.shortcuts import get_object_or_404, render, redirect from django.db import transaction @@ -251,7 +253,7 @@ def validate_publication(request): initial_path = publication.pdf_file.path new_dir = (settings.MEDIA_ROOT + publication.in_issue.path + '/' + publication.get_paper_nr()) - new_path = new_dir + '/' + publication.doi_string.replace('.', '_') + '.pdf' + new_path = new_dir + '/' + publication.complete_doi_string.replace('.', '_') + '.pdf' os.makedirs(new_dir) os.rename(initial_path, new_path) publication.pdf_file.name = new_path @@ -483,9 +485,9 @@ def create_metadata_xml(request, doi_string): '</abbrev_title>\n' '<issn>' + publication.in_issue.in_volume.in_journal.issn + '</issn>\n' '<doi_data>\n' - '<doi>' + publication.in_issue.in_volume.in_journal.doi_string + '</doi>\n' + '<doi>' + publication.in_issue.in_volume.in_journal.complete_doi_string + '</doi>\n' '<resource>https://scipost.org/' - + publication.in_issue.in_volume.in_journal.doi_string + '</resource>\n' + + publication.in_issue.in_volume.in_journal.complete_doi_string + '</resource>\n' '</doi_data>\n' '</journal_metadata>\n' '<journal_issue>\n' @@ -546,12 +548,12 @@ def create_metadata_xml(request, doi_string): + paper_nr_string(publication.paper_nr) + '</item_number></publisher_item>\n' '<doi_data>\n' - '<doi>' + publication.doi_string + '</doi>\n' - '<resource>https://scipost.org/' + publication.doi_string + '</resource>\n' + '<doi>' + publication.complete_doi_string + '</doi>\n' + '<resource>https://scipost.org/' + publication.complete_doi_string + '</resource>\n' '<collection property="crawler-based">\n' '<item crawler="iParadigms">\n' '<resource>https://scipost.org/' - + publication.doi_string + '/pdf</resource>\n' + + publication.complete_doi_string + '/pdf</resource>\n' '</item></collection>\n' '</doi_data>\n' ) @@ -641,7 +643,7 @@ def harvest_citedby_links(request, doi_string): '</head>' '<body>' '<fl_query alert="false">' - '<doi>' + publication.doi_string + '</doi>' + '<doi>' + publication.complete_doi_string + '</doi>' '</fl_query>' '</body>' '</query_batch>') @@ -649,7 +651,7 @@ def harvest_citedby_links(request, doi_string): params = {'usr': settings.CROSSREF_LOGIN_ID, 'pwd': settings.CROSSREF_LOGIN_PASSWORD, 'qdata': query_xml, - 'doi': publication.doi_string, } + 'doi': publication.complete_doi_string, } r = requests.post(url, params=params,) response_headers = r.headers response_text = r.text diff --git a/scipost/static/scipost/assets/css/scipost-physics.scss b/scipost/static/scipost/assets/css/scipost-physics.scss index d0d2f46eccba15998393c6432fbbe06497279530..2ef6f06c4c2a5c37552e7e18bd940d3181fcd211 100644 --- a/scipost/static/scipost/assets/css/scipost-physics.scss +++ b/scipost/static/scipost/assets/css/scipost-physics.scss @@ -17,8 +17,8 @@ display: block; &.active { - border: 1px solid #6885c3; - color: #6885c3; + color: #002b49; + background: rgba(255, 255, 255, 0.5); } } } diff --git a/scipost/views.py b/scipost/views.py index 6ba474479ab4bad1b5ea91428f7b868cba78390b..0e2fd0e176ed61e8a2ec1e840eb3e44724b726f1 100644 --- a/scipost/views.py +++ b/scipost/views.py @@ -122,9 +122,8 @@ def documentsSearchResults(query): commentary_query, vetted=True, ).order_by('-pub_date') - submission_search_queryset = Submission.objects.filter( + submission_search_queryset = Submission.objects.public().filter( submission_query, - ).exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED, ).order_by('-submission_date') thesislink_search_list = ThesisLink.objects.filter( thesislink_query, diff --git a/submissions/managers.py b/submissions/managers.py index 01249dd9dbfa9cadb97a81b545e1f1e1bf5a2bf0..9346d76a55b1d85e35bac79a4d0af3065aba3e31 100644 --- a/submissions/managers.py +++ b/submissions/managers.py @@ -14,7 +14,7 @@ class SubmissionManager(models.Manager): .order_by('-submission_date') def public(self): - return self.exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED) + return self.filter(is_current=True).exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED) class EditorialAssignmentManager(models.Manager): diff --git a/submissions/views.py b/submissions/views.py index 2e28d88ef2d30f64a3c7f2df08b0f5f1ad0139be..b82aeebb2e1ac1c36012d61b675d19cfa30bc6ef 100644 --- a/submissions/views.py +++ b/submissions/views.py @@ -208,34 +208,26 @@ class SubmissionListView(ListView): paginate_by = 10 def get_queryset(self): + queryset = Submission.objects.public() if 'to_journal' in self.kwargs: - queryset = Submission.objects.filter( + queryset = queryset.filter( latest_activity__gte=timezone.now() + datetime.timedelta(days=-60), submitted_to_journal=self.kwargs['to_journal'] - ).exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED - ).exclude(is_current=False).order_by('-submission_date') - # Submission.objects.filter(submitted_to_journal=self.kwargs['to_journal']) + ) elif 'discipline' in self.kwargs and 'nrweeksback' in self.kwargs: discipline = self.kwargs['discipline'] nrweeksback = self.kwargs['nrweeksback'] - queryset = Submission.objects.filter( + queryset = queryset.filter( discipline=discipline, latest_activity__gte=timezone.now() + datetime.timedelta(weeks=-int(nrweeksback))) elif 'Submit' in self.request.GET: - queryset = Submission.objects.filter( + queryset = queryset.filter( title__icontains=self.request.GET.get('title_keyword', ''), author_list__icontains=self.request.GET.get('author', ''), abstract__icontains=self.request.GET.get('abstract_keyword', '') ) - else: - queryset = Submission.objects.filter( - latest_activity__gte=timezone.now() + datetime.timedelta(days=-60) - ).exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED - ).exclude(is_current=False).order_by('-submission_date') - - queryset = queryset.exclude(status__in=SUBMISSION_STATUS_PUBLICLY_UNLISTED, - ).order_by('-submission_date') - return queryset + + return queryset.order_by('-submission_date') def get_context_data(self, **kwargs): # Call the base implementation first to get a context