diff --git a/edivorce/apps/core/views/efiling.py b/edivorce/apps/core/views/efiling.py index 6da7aaa5..e4e9baba 100644 --- a/edivorce/apps/core/views/efiling.py +++ b/edivorce/apps/core/views/efiling.py @@ -14,6 +14,8 @@ from ..utils.efiling_packaging import EFilingPackaging from ..utils.efiling_submission import EFilingSubmission from ..utils.user_response import get_data_for_user +MAX_MEGABYTES = 10 + @login_required @prequal_completed @@ -72,10 +74,16 @@ def _validate_and_submit_documents(request, responses, initial=False): uploaded, generated = forms_to_file(responses, initial) for form in uploaded: if form['doc_type'] not in ['EFSS1', 'AFTL']: + total_size = 0 docs = Document.objects.filter( bceid_user=user, doc_type=form['doc_type'], party_code=form.get('party_code', 0)) if docs.count() == 0: errors.append(f"Missing documents for {Document.form_types[form['doc_type']]}") + for doc in docs: + total_size += doc.size + if total_size > MAX_MEGABYTES * 1024 * 1024: + errors.append( + f"{Document.form_types[form['doc_type']]} exceeds the { MAX_MEGABYTES } MB size limit") if errors: return errors, None diff --git a/vue/src/components/Uploader/Uploader.vue b/vue/src/components/Uploader/Uploader.vue index 66178483..a7439775 100644 --- a/vue/src/components/Uploader/Uploader.vue +++ b/vue/src/components/Uploader/Uploader.vue @@ -293,10 +293,7 @@ // only allow one file over the limit (so we can show the red messaging on the screen) let previousTotalSize = 0; this.files.forEach((file) => { - if ( - (file.name !== newFile.name || file.size !== newFile.size) && - !file.error - ) { + if (file.name !== newFile.name && !file.error) { previousTotalSize += file.size; } });