|
20 | 20 | from ietf.ietfauth.utils import has_role, role_required |
21 | 21 | from ietf.mailtrigger.utils import gather_address_lists |
22 | 22 | from ietf.message.models import Message, MessageAttachment |
| 23 | +from ietf.name.models import FormalLanguageName |
23 | 24 | from ietf.submit.forms import ( SubmissionUploadForm, NameEmailForm, EditSubmissionForm, |
24 | 25 | PreapprovalForm, ReplacesForm, SubmissionEmailForm, MessageModelForm ) |
25 | 26 | from ietf.submit.mail import ( send_full_url, send_approval_request_to_group, |
@@ -124,55 +125,39 @@ def upload_submission(request): |
124 | 125 | # for this revision. |
125 | 126 | # If so - we're going to update it otherwise we create a new object |
126 | 127 |
|
127 | | - submission = Submission.objects.filter(name=form.filename, |
128 | | - rev=form.revision, |
129 | | - state_id = "waiting-for-draft").distinct() |
130 | | - if (len(submission) == 0): |
131 | | - submission = None |
132 | | - elif (len(submission) == 1): |
133 | | - submission = submission[0] |
134 | | - |
135 | | - submission.state = DraftSubmissionStateName.objects.get(slug="uploaded") |
136 | | - submission.remote_ip=form.remote_ip |
137 | | - submission.title=form.title |
138 | | - submission.abstract=abstract |
139 | | - submission.rev=form.revision |
140 | | - submission.pages=form.parsed_draft.get_pagecount() |
141 | | - submission.authors="\n".join(authors) |
142 | | - submission.first_two_pages=''.join(form.parsed_draft.pages[:2]) |
143 | | - submission.file_size=file_size |
144 | | - submission.file_types=','.join(form.file_types) |
145 | | - submission.submission_date=datetime.date.today() |
146 | | - submission.document_date=form.parsed_draft.get_creation_date() |
147 | | - submission.replaces="" |
148 | | - |
149 | | - submission.save() |
| 128 | + submissions = Submission.objects.filter(name=form.filename, |
| 129 | + rev=form.revision, |
| 130 | + state_id = "waiting-for-draft").distinct() |
| 131 | + |
| 132 | + if not submissions: |
| 133 | + submission = Submission(name=form.filename, rev=form.revision, group=form.group) |
| 134 | + elif len(submissions) == 1: |
| 135 | + submission = submissions[0] |
150 | 136 | else: |
151 | 137 | raise Exception("Multiple submissions found waiting for upload") |
152 | 138 |
|
153 | | - if (submission == None): |
154 | | - try: |
155 | | - submission = Submission.objects.create( |
156 | | - state=DraftSubmissionStateName.objects.get(slug="uploaded"), |
157 | | - remote_ip=form.remote_ip, |
158 | | - name=form.filename, |
159 | | - group=form.group, |
160 | | - title=form.title, |
161 | | - abstract=abstract, |
162 | | - rev=form.revision, |
163 | | - pages=form.parsed_draft.get_pagecount(), |
164 | | - authors="\n".join(authors), |
165 | | - note="", |
166 | | - first_two_pages=''.join(form.parsed_draft.pages[:2]), |
167 | | - file_size=file_size, |
168 | | - file_types=','.join(form.file_types), |
169 | | - submission_date=datetime.date.today(), |
170 | | - document_date=form.parsed_draft.get_creation_date(), |
171 | | - replaces="", |
172 | | - ) |
173 | | - except Exception as e: |
174 | | - log("Exception: %s\n" % e) |
175 | | - raise |
| 139 | + try: |
| 140 | + submission.state = DraftSubmissionStateName.objects.get(slug="uploaded") |
| 141 | + submission.remote_ip = form.remote_ip |
| 142 | + submission.title = form.title |
| 143 | + submission.abstract = abstract |
| 144 | + submission.pages = form.parsed_draft.get_pagecount() |
| 145 | + submission.words = form.parsed_draft.get_wordcount() |
| 146 | + submission.authors = "\n".join(authors) |
| 147 | + submission.first_two_pages = ''.join(form.parsed_draft.pages[:2]) |
| 148 | + submission.file_size = file_size |
| 149 | + submission.file_types = ','.join(form.file_types) |
| 150 | + submission.submission_date = datetime.date.today() |
| 151 | + submission.document_date = form.parsed_draft.get_creation_date() |
| 152 | + submission.replaces = "" |
| 153 | + |
| 154 | + submission.save() |
| 155 | + |
| 156 | + submission.formal_languages = FormalLanguageName.objects.filter(slug__in=form.parsed_draft.get_formal_languages()) |
| 157 | + |
| 158 | + except Exception as e: |
| 159 | + log("Exception: %s\n" % e) |
| 160 | + raise |
176 | 161 |
|
177 | 162 | # run submission checkers |
178 | 163 | def apply_check(submission, checker, method, fn): |
|
0 commit comments