From 158fa900c3b6697bc6fb3982ecb1082ff02d45e8 Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Mon, 14 Aug 2017 18:37:41 +0200 Subject: [PATCH] Add admin stuff --- submissions/admin.py | 14 ++++++++++- submissions/models.py | 19 ++++++++++++--- .../submissions/admin/plagiarism_report.html | 23 ++++++++++++++++++- 3 files changed, 51 insertions(+), 5 deletions(-) diff --git a/submissions/admin.py b/submissions/admin.py index 2d88cdc52..fc25f4403 100644 --- a/submissions/admin.py +++ b/submissions/admin.py @@ -6,7 +6,8 @@ from guardian.admin import GuardedModelAdmin from comments.models import Comment from submissions.models import Submission, EditorialAssignment, RefereeInvitation, Report,\ - EditorialCommunication, EICRecommendation, SubmissionEvent + EditorialCommunication, EICRecommendation, SubmissionEvent,\ + iThenticateReport from scipost.models import Contributor @@ -18,6 +19,17 @@ def submission_short_title(obj): return obj.submission.title[:30] +class iThenticateReportAdmin(admin.ModelAdmin): + readonly_fields = ['doc_id'] + + def has_add_permission(self, request): + """ Don't add manually. This will gives conflict with the iThenticate db. """ + return False + + +admin.site.register(iThenticateReport, iThenticateReportAdmin) + + class SubmissionAdminForm(forms.ModelForm): authors = forms.ModelMultipleChoiceField( required=False, diff --git a/submissions/models.py b/submissions/models.py index 21cf120c2..ecf413ab5 100644 --- a/submissions/models.py +++ b/submissions/models.py @@ -506,10 +506,23 @@ class iThenticateReport(TimeStampedModel): doc_id = models.IntegerField(primary_key=True) percent_match = models.IntegerField(null=True, blank=True) + class Meta: + verbose_name = 'iThenticate Report' + verbose_name_plural = 'iThenticate Reports' + def get_absolute_url(self): - return reverse('submissions:plagiarism', kwargs={ - 'arxiv_identifier_w_vn_nr': - self.to_submission.arxiv_identifier_w_vn_nr}) + if hasattr(self, 'to_submission'): + return reverse('submissions:plagiarism', kwargs={ + 'arxiv_identifier_w_vn_nr': + self.to_submission.arxiv_identifier_w_vn_nr}) + return None + + def __str__(self): + _str = 'Report {doc_id}'.format(doc_id=self.doc_id) + if hasattr(self, 'to_submission'): + _str += ' on Submission {arxiv}'.format( + arxiv=self.to_submission.arxiv_identifier_w_vn_nr) + return _str @property def score(self): diff --git a/submissions/templates/submissions/admin/plagiarism_report.html b/submissions/templates/submissions/admin/plagiarism_report.html index fb5280648..a9e057370 100644 --- a/submissions/templates/submissions/admin/plagiarism_report.html +++ b/submissions/templates/submissions/admin/plagiarism_report.html @@ -15,7 +15,28 @@ <h2>{{submission.title}}</h2> <h3 class="mb-4">by {{submission.author_list}}</h3> {% if submission.plagiarism_report %} - {{submission.plagiarism_report}} + <table> + <tr> + <td style="min-width: 150px;">iThenticate document</td> + <td>{{submission.plagiarism_report.doc_id}}</td> + </tr> + <tr> + <td>Percent match</td> + <td>{{submission.plagiarism_report.percent_match}}</td> + </tr> + <tr> + <td>Processed</td> + <td>{{submission.plagiarism_report.processed_time}}</td> + </tr> + <tr> + <td>Uploaded</td> + <td>{{submission.plagiarism_report.uploaded_time}}</td> + </tr> + <tr> + <td>Latest update</td> + <td>{{submission.plagiarism_report.latest_activity}}</td> + </tr> + </table> {% else %} No Plagiarism Report found. {% endif %} -- GitLab