Browse Source

DIV-1195 - Don't allow efiling when a form exceeds 10MB upload limit

pull/172/head
Michael Olund 5 years ago
parent
commit
6c1a6c252d
2 changed files with 9 additions and 4 deletions
  1. +8
    -0
      edivorce/apps/core/views/efiling.py
  2. +1
    -4
      vue/src/components/Uploader/Uploader.vue

+ 8
- 0
edivorce/apps/core/views/efiling.py View File

@ -14,6 +14,8 @@ from ..utils.efiling_packaging import EFilingPackaging
from ..utils.efiling_submission import EFilingSubmission from ..utils.efiling_submission import EFilingSubmission
from ..utils.user_response import get_data_for_user from ..utils.user_response import get_data_for_user
MAX_MEGABYTES = 10
@login_required @login_required
@prequal_completed @prequal_completed
@ -72,10 +74,16 @@ def _validate_and_submit_documents(request, responses, initial=False):
uploaded, generated = forms_to_file(responses, initial) uploaded, generated = forms_to_file(responses, initial)
for form in uploaded: for form in uploaded:
if form['doc_type'] not in ['EFSS1', 'AFTL']: if form['doc_type'] not in ['EFSS1', 'AFTL']:
total_size = 0
docs = Document.objects.filter( docs = Document.objects.filter(
bceid_user=user, doc_type=form['doc_type'], party_code=form.get('party_code', 0)) bceid_user=user, doc_type=form['doc_type'], party_code=form.get('party_code', 0))
if docs.count() == 0: if docs.count() == 0:
errors.append(f"Missing documents for {Document.form_types[form['doc_type']]}") 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: if errors:
return errors, None return errors, None


+ 1
- 4
vue/src/components/Uploader/Uploader.vue View File

@ -293,10 +293,7 @@
// only allow one file over the limit (so we can show the red messaging on the screen) // only allow one file over the limit (so we can show the red messaging on the screen)
let previousTotalSize = 0; let previousTotalSize = 0;
this.files.forEach((file) => { 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; previousTotalSize += file.size;
} }
}); });


Loading…
Cancel
Save