Introduce validation and error handling for validation preview

This commit is contained in:
Pea Tyczynska
2018-09-27 17:55:18 +01:00
parent 3be129241f
commit 3cdacaaf0a
2 changed files with 16 additions and 7 deletions

View File

@@ -769,7 +769,10 @@ class ServiceUpdateEmailBranding(StripWhitespaceForm):
class PDFUploadForm(StripWhitespaceForm):
file = FileField_wtf(
'Upload a letter in PDF format to check if it fits in the printable area',
validators=[FileAllowed(['pdf'], 'PDF documents only!')]
validators=[
FileAllowed(['pdf'], 'PDF documents only!'),
DataRequired(message="You need to upload a file to submit")
]
)

View File

@@ -248,13 +248,19 @@ def platform_admin_letter_validation_preview():
message, pages, result = None, [], None
form = PDFUploadForm()
if request.method == "POST":
if form.validate_on_submit():
pdf_file = form.file.data
response = validate_letter(pdf_file)
if response.status_code == 200:
pages=response.json()["pages"]
message = response.json()["message"]
result = response.json()["result"]
try:
response = validate_letter(pdf_file)
if response.status_code == 200:
pages=response.json()["pages"]
message = response.json()["message"]
result = response.json()["result"]
except HTTPError as error:
if error.status_code == 400:
flash("Something was wrong with the file you tried to upload. Please upload a valid PDF file.")
else:
raise e
return render_template(
'views/platform-admin/letter-validation-preview.html',