mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-18 05:29:38 -04:00
Remove the letter validation preview endpoints
We can use the ‘Uploads’ feature to check if letters are printable now. This code works in a completely different way, so if we kept it we’d have to maintain two different code paths, and make sure that they didn’t diverge. Also deletes the related HTML templates.
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