From 7c7dc9c73d2902059d054f7bad32d17142e4537b Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Mon, 22 Jan 2018 19:51:15 +0100 Subject: [PATCH] Fix citation always returns None --- comments/models.py | 6 ++-- submissions/admin.py | 2 +- submissions/models.py | 29 +++++++++---------- .../templatetags/submissions_extras.py | 4 +++ 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/comments/models.py b/comments/models.py index 6a36fa055..afec36f91 100644 --- a/comments/models.py +++ b/comments/models.py @@ -234,19 +234,19 @@ class Comment(TimeStampedModel): return None - @property def citation(self): + citation = '' if self.doi_string: - citation = '' if self.anonymous: citation += 'Anonymous, ' else: citation += '%s %s, ' % (self.author.user.first_name, self.author.user.last_name) + if self.is_authorreply: citation += 'SciPost Author Replies ' else: citation += 'SciPost Comments ' citation += '(%s), doi:' % self.date_submitted.strftime('%Y') citation += self.doi_string - return None + return citation diff --git a/submissions/admin.py b/submissions/admin.py index 0f52fe45e..0466fba0c 100644 --- a/submissions/admin.py +++ b/submissions/admin.py @@ -184,7 +184,7 @@ class ReportAdminForm(forms.ModelForm): class ReportAdmin(admin.ModelAdmin): search_fields = ['author__user__last_name', 'submission'] - list_display = ('author', 'status', submission_short_title, 'date_submitted', ) + list_display = ('author', 'status', 'doi_label', submission_short_title, 'date_submitted', ) list_display_links = ('author',) date_hierarchy = 'date_submitted' list_filter = ('status',) diff --git a/submissions/models.py b/submissions/models.py index 88d66aace..6f951322d 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -452,16 +452,6 @@ class Report(SubmissionRelatedObjectMixin, models.Model): return (self.author.user.first_name + ' ' + self.author.user.last_name + ' on ' + self.submission.title[:50] + ' by ' + self.submission.author_list[:50]) - def save(self, *args, **kwargs): - # Control Report count per Submission. - if not self.report_nr: - self.report_nr = self.submission.reports.count() + 1 - return super().save(*args, **kwargs) - - def create_doi_label(self): - self.doi_label = 'SciPost.Report.' + str(self.id) - self.save() - def get_absolute_url(self): return self.submission.get_absolute_url() + '#report_' + str(self.report_nr) @@ -473,8 +463,7 @@ class Report(SubmissionRelatedObjectMixin, models.Model): def doi_string(self): if self.doi_label: return '10.21468/' + self.doi_label - else: - return None + return '' @cached_property def title(self): @@ -484,7 +473,7 @@ class Report(SubmissionRelatedObjectMixin, models.Model): """ return self.submission.title - @cached_property + @property def is_followup_report(self): """ Check if current Report is a `FollowupReport`. A Report is a `FollowupReport` if the @@ -494,6 +483,16 @@ class Report(SubmissionRelatedObjectMixin, models.Model): submission__arxiv_identifier_wo_vn_nr=self.submission.arxiv_identifier_wo_vn_nr, submission__arxiv_vn_nr__lt=self.submission.arxiv_vn_nr).exists()) + def save(self, *args, **kwargs): + # Control Report count per Submission. + if not self.report_nr: + self.report_nr = self.submission.reports.count() + 1 + return super().save(*args, **kwargs) + + def create_doi_label(self): + self.doi_label = 'SciPost.Report.' + str(self.id) + self.save() + def latest_report_from_series(self): """ Get latest Report from the same author for the Submission series. @@ -525,8 +524,8 @@ class Report(SubmissionRelatedObjectMixin, models.Model): @property def citation(self): + citation = '' if self.doi_string: - citation = '' if self.anonymous: citation += 'Anonymous, ' else: @@ -534,7 +533,7 @@ class Report(SubmissionRelatedObjectMixin, models.Model): citation += 'Report on %s, ' % self.submission.arxiv_identifier_w_vn_nr citation += 'SciPost Reports (%s), doi:' % self.date_submitted.strftime('%Y') citation += self.doi_string - return None + return citation ########################## diff --git a/submissions/templatetags/submissions_extras.py b/submissions/templatetags/submissions_extras.py index f7e9990c2..f63b5843f 100644 --- a/submissions/templatetags/submissions_extras.py +++ b/submissions/templatetags/submissions_extras.py @@ -24,11 +24,15 @@ def is_viewable_by_authors(recommendation): @register.filter def user_is_referee(submission, user): + if not user.is_authenticated: + return False return submission.referee_invitations.filter(referee__user=user).exists() @register.filter def is_voting_fellow(submission, user): + if not user.is_authenticated: + return False return submission.voting_fellows.filter(contributor__user=user).exists() -- GitLab