From eabf121abe6d008115cb88c9e234544deb2e9643 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 26 Sep 2019 14:38:47 +0000 Subject: [PATCH] Added code to detect conflicting information for draft name, revision, and title when both XML and text versions of a document are submitted. - Legacy-Id: 16746 --- ietf/submit/forms.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ietf/submit/forms.py b/ietf/submit/forms.py index 8c16bd3d8..d3a337b77 100644 --- a/ietf/submit/forms.py +++ b/ietf/submit/forms.py @@ -230,10 +230,18 @@ class SubmissionBaseUploadForm(forms.Form): raise forms.ValidationError('Failed decoding the uploaded file: "%s"' % str(e)) # self.parsed_draft = Draft(text, txt_file.name) - self.filename = self.parsed_draft.filename - self.revision = self.parsed_draft.revision - self.title = self.parsed_draft.get_title() - + if self.filename == None: + self.filename = self.parsed_draft.filename + elif self.filename != self.parsed_draft.filename: + raise forms.ValidationError("Inconsistent name information: xml:%s, txt:%s" % (self.filename, self.parsed_draft.filename)) + if self.revision == None: + self.revision = self.parsed_draft.revision + elif self.revision != self.parsed_draft.revision: + raise forms.ValidationError("Inconsistent revision information: xml:%s, txt:%s" % (self.revision, self.parsed_draft.revision)) + if self.title == None: + self.title = self.parsed_draft.get_title() + elif self.title != self.parsed_draft.get_title(): + raise forms.ValidationError("Inconsistent title information: xml:%s, txt:%s" % (self.title, self.parsed_draft.get_title())) if not self.filename: raise forms.ValidationError("Could not extract a valid draft name from the upload"