Move letter too long banner message over from utils, also refactor

This commit is contained in:
Pea Tyczynska
2019-10-01 17:16:15 +01:00
parent b42c7c4c9f
commit 12ec2870af
14 changed files with 63 additions and 38 deletions

View File

@@ -54,6 +54,7 @@ from app.utils import (
get_errors_for_csv,
get_help_argument,
get_template,
is_letter_too_long,
should_skip_template_page,
unicode_truncate,
user_has_permissions,
@@ -591,8 +592,7 @@ def _check_messages(service_id, template_id, upload_id, preview_row, letters_as_
sent_previously=job_api_client.has_sent_previously(
service_id, template.id, db_template['version'], request.args.get('original_file_name', '')
),
page_count=page_count,
letter_max_pages=current_app.config['LETTER_MAX_PAGES'],
letter_too_long=is_letter_too_long(page_count),
)
@@ -885,8 +885,7 @@ def _check_notification(service_id, template_id, exception=None):
template=template,
back_link=back_link,
help=get_help_argument(),
page_count=page_count,
letter_max_pages=current_app.config['LETTER_MAX_PAGES'],
letter_too_long=is_letter_too_long(page_count),
**(get_template_error_dict(exception) if exception else {}),
)

View File

@@ -2,15 +2,7 @@ from datetime import datetime, timedelta
from string import ascii_uppercase
from dateutil.parser import parse
from flask import (
abort,
current_app,
flash,
redirect,
render_template,
request,
url_for,
)
from flask import abort, flash, redirect, render_template, request, url_for
from flask_login import current_user
from markupsafe import Markup
from notifications_python_client.errors import HTTPError
@@ -41,6 +33,7 @@ from app.template_previews import TemplatePreview, get_page_count_for_letter
from app.utils import (
email_or_sms_not_enabled,
get_template,
is_letter_too_long,
should_skip_template_page,
user_has_permissions,
user_is_platform_admin,
@@ -82,8 +75,7 @@ def view_template(service_id, template_id):
),
template_postage=template["postage"],
user_has_template_permission=user_has_template_permission,
page_count=get_page_count_for_letter(template),
letter_max_pages=current_app.config['LETTER_MAX_PAGES'],
letter_too_long=is_letter_too_long(get_page_count_for_letter(template)),
)

View File

@@ -26,7 +26,7 @@ from app.s3_client.s3_letter_upload_client import (
upload_letter_to_s3,
)
from app.template_previews import TemplatePreview, sanitise_letter
from app.utils import get_template, user_has_permissions
from app.utils import get_template, is_letter_too_long, user_has_permissions
MAX_FILE_UPLOAD_SIZE = 2 * 1024 * 1024 # 2MB
@@ -79,8 +79,6 @@ def upload_letter(service_id):
raise ex
else:
status = 'valid'
if page_count > current_app.config['LETTER_MAX_PAGES']:
status = 'invalid'
file_contents = base64.b64decode(response.json()['file'].encode())
upload_letter_to_s3(
file_contents,
@@ -111,6 +109,7 @@ def uploaded_letter_preview(service_id, file_id):
metadata = get_letter_metadata(service_id, file_id)
original_filename = metadata.get('filename')
page_count = metadata.get('page_count')
letter_too_long = is_letter_too_long(int(page_count))
status = metadata.get('status')
template_dict = service_api_client.get_precompiled_template(service_id)
@@ -132,6 +131,7 @@ def uploaded_letter_preview(service_id, file_id):
template=template,
status=status,
file_id=file_id,
letter_too_long=letter_too_long,
)