diff --git a/submissions/forms.py b/submissions/forms.py index 8a89f02ffcb1b90a9993ac289dd1f143b02162fb..33d4ebb5d3c04b06344932f6cf85f5f44e94b7a6 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):