SciPost Code Repository

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

Quick update

parent f40259d7
No related branches found
No related tags found
No related merge requests found
......@@ -190,21 +190,23 @@ class Comment(TimeStampedModel):
self.nr_D = self.in_disagreement.count()
self.save()
@cached_property
@property
def relation_to_published(self):
"""
Check if the Comment relates to a SciPost-published object.
If it is, return a dict with info on relation to the published object,
based on Crossref's peer review content type.
"""
# Import here due to circular import errors
from submissions.models import Submission
from commentaries.models import Commentary
to_object = self.core_content_object
if isinstance(to_object, Submission):
published = Publication.objects.filter(
accepted_submission__arxiv_identifier_wo_vn_nr=to_object.arxiv_identifier_wo_vn_nr)
if published:
publication = to_object.publication
if publication:
relation = {
'isReviewOfDOI': published.doi_string,
'isReviewOfDOI': publication.doi_string,
'stage': 'pre-publication',
'title': 'Comment on ' + to_object.arxiv_identifier_w_vn_nr,
}
......
......@@ -167,7 +167,8 @@ class Publication(models.Model):
the actual publication file, author data, etc. etc.
"""
# Publication data
accepted_submission = models.OneToOneField('submissions.Submission', on_delete=models.CASCADE)
accepted_submission = models.OneToOneField('submissions.Submission', on_delete=models.CASCADE,
related_name='publication')
in_issue = models.ForeignKey('journals.Issue', on_delete=models.CASCADE)
paper_nr = models.PositiveSmallIntegerField()
......
......@@ -502,18 +502,17 @@ class Report(SubmissionRelatedObjectMixin, models.Model):
submission__arxiv_identifier_wo_vn_nr=self.submission.arxiv_identifier_wo_vn_nr)
.order_by('submission__arxiv_identifier_wo_vn_nr').last())
@cached_property
@property
def relation_to_published(self):
"""
Check if the Report relates to a SciPost-published object.
If it is, return a dict with info on relation to the published object,
based on Crossref's peer review content type.
"""
published = Publication.objects.filter(
accepted_submission__arxiv_identifier_wo_vn_nr=self.submission__arxiv_identifier_wo_vn_nr)
if published:
publication = self.submission.publication
if publication:
relation = {
'isReviewOfDOI': published.doi_string,
'isReviewOfDOI': publication.doi_string,
'stage': 'pre-publication',
'type': 'referee-report',
'title': 'Report on ' + self.submission.arxiv_identifier_w_vn_nr,
......
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