mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-20 14:29:51 -04:00
Merge pull request #3201 from alphagov/remove-letter-validation-preview
Remove the letter validation preview endpoints
This commit is contained in:
@@ -386,77 +386,6 @@ def platform_admin_returned_letters():
|
||||
)
|
||||
|
||||
|
||||
@main.route("/platform-admin/letter-validation-preview", methods=["GET", "POST"])
|
||||
@user_is_platform_admin
|
||||
def platform_admin_letter_validation_preview():
|
||||
return letter_validation_preview(from_platform_admin=True)
|
||||
|
||||
|
||||
@main.route("/services/<uuid:service_id>/letter-validation-preview", methods=["GET", "POST"])
|
||||
@user_has_permissions()
|
||||
def service_letter_validation_preview(service_id):
|
||||
return letter_validation_preview(from_platform_admin=False)
|
||||
|
||||
|
||||
def letter_validation_preview(from_platform_admin):
|
||||
message, pages, passed_validation, error_code = None, [], None, None
|
||||
form = PDFUploadForm()
|
||||
|
||||
view_location = 'views/platform-admin/letter-validation-preview.html' \
|
||||
if from_platform_admin else'views/letter-validation-preview.html'
|
||||
|
||||
if form.validate_on_submit():
|
||||
pdf_file = form.file.data
|
||||
virus_free = antivirus_client.scan(pdf_file)
|
||||
|
||||
if not virus_free:
|
||||
return render_template(
|
||||
view_location,
|
||||
form=form, message="Document did not pass the virus scan",
|
||||
pages=pages, passed_validation=passed_validation
|
||||
), 400
|
||||
|
||||
try:
|
||||
if len(pdf_file.read()) > (2 * 1024 * 1024):
|
||||
return render_template(
|
||||
view_location,
|
||||
form=form,
|
||||
message="File must be less than 2MB",
|
||||
pages=pages, passed_validation=passed_validation
|
||||
), 400
|
||||
pdf_file.seek(0)
|
||||
response = validate_letter(pdf_file)
|
||||
response.raise_for_status()
|
||||
if response.status_code == 200:
|
||||
pages, message = response.json()["pages"], response.json()["message"],
|
||||
passed_validation = response.json()["result"]
|
||||
invalid_pages = response.json().get('invalid_pages')
|
||||
page_count = len(pages)
|
||||
if page_count > LETTER_MAX_PAGE_COUNT:
|
||||
message = "letter-too-long"
|
||||
passed_validation = False
|
||||
|
||||
if not passed_validation:
|
||||
error_code = message
|
||||
message = get_letter_validation_error(
|
||||
message, invalid_pages=invalid_pages, page_count=page_count
|
||||
)
|
||||
except RequestException as error:
|
||||
if error.response and error.response.status_code == 400:
|
||||
message = "Something was wrong with the file you tried to upload. Please upload a valid PDF file."
|
||||
return render_template(
|
||||
view_location,
|
||||
form=form, message=message, pages=pages, passed_validation=passed_validation
|
||||
), 400
|
||||
else:
|
||||
raise error
|
||||
|
||||
return render_template(
|
||||
view_location,
|
||||
form=form, message=message, pages=pages, passed_validation=passed_validation, error_code=error_code
|
||||
)
|
||||
|
||||
|
||||
@main.route("/platform-admin/clear-cache", methods=['GET', 'POST'])
|
||||
@user_is_platform_admin
|
||||
def clear_cache():
|
||||
|
||||
Reference in New Issue
Block a user