From a9f63b7ac152ad0d3b3e6da1df7a7a990c8a8d02 Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Tue, 29 Aug 2017 12:36:02 +0200 Subject: [PATCH] Ithenticate try 8 --- submissions/forms.py | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/submissions/forms.py b/submissions/forms.py index 8a89f02ff..33d4ebb5d 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -679,17 +679,21 @@ class iThenticateReportForm(forms.ModelForm): def save(self, *args, **kwargs): data = self.response['data'][0] - report, __ = iThenticateReport.objects.get_or_create(doc_id=data['id']) - - try: - report.uploaded_time = data['uploaded_time'] - report.processed_time = data['processed_time'] - report.percent_match = data['percent_match'] - except KeyError: - pass - report.save() - self.submission.plagiarism_report = report - self.submission.save() + report, created = iThenticateReport.objects.get_or_create(doc_id=data['id']) + + if not created: + try: + iThenticateReport.objects.filter(doc_id=data['id']).update( + uploaded_time=data['uploaded_time'], + processed_time=data['processed_time'], + percent_match=data['percent_match'] + ) + except KeyError: + pass + else: + report.save() + self.submission.plagiarism_report = report + self.submission.save() return report def call_ithenticate(self): -- GitLab