diff --git a/app/main/views/code_not_received.py b/app/main/views/code_not_received.py index 37269a7d2..b5401a933 100644 --- a/app/main/views/code_not_received.py +++ b/app/main/views/code_not_received.py @@ -4,7 +4,7 @@ from app import user_api_client from app.main import main from app.main.forms import TextNotReceivedForm from app.models.user import User -from app.utils import redirect_to_sign_in +from app.utils.login import redirect_to_sign_in @main.route('/resend-email-verification') diff --git a/app/main/views/two_factor.py b/app/main/views/two_factor.py index 12cdb7103..8a2e2036e 100644 --- a/app/main/views/two_factor.py +++ b/app/main/views/two_factor.py @@ -16,7 +16,8 @@ from app import user_api_client from app.main import main from app.main.forms import TwoFactorForm from app.models.user import User -from app.utils import is_less_than_days_ago, redirect_to_sign_in +from app.utils import is_less_than_days_ago +from app.utils.login import redirect_to_sign_in @main.route('/two-factor-email-sent', methods=['GET']) diff --git a/app/main/views/verify.py b/app/main/views/verify.py index 87c8fa95d..fe81b2b89 100644 --- a/app/main/views/verify.py +++ b/app/main/views/verify.py @@ -17,7 +17,7 @@ from app.main import main from app.main.forms import TwoFactorForm from app.models.service import Service from app.models.user import InvitedOrgUser, InvitedUser, User -from app.utils import redirect_to_sign_in +from app.utils.login import redirect_to_sign_in @main.route('/verify', methods=['GET', 'POST']) diff --git a/app/main/views/webauthn_credentials.py b/app/main/views/webauthn_credentials.py index d1b18a6d2..953242147 100644 --- a/app/main/views/webauthn_credentials.py +++ b/app/main/views/webauthn_credentials.py @@ -10,7 +10,8 @@ from app.main.views.two_factor import log_in_user from app.models.user import User from app.models.webauthn_credential import RegistrationError, WebAuthnCredential from app.notify_client.user_api_client import user_api_client -from app.utils import is_less_than_days_ago, redirect_to_sign_in +from app.utils import is_less_than_days_ago +from app.utils.login import redirect_to_sign_in from app.utils.user import user_is_platform_admin diff --git a/app/utils/__init__.py b/app/utils/__init__.py index 02359c820..582f3403e 100644 --- a/app/utils/__init__.py +++ b/app/utils/__init__.py @@ -5,16 +5,7 @@ from urllib.parse import urlparse import pytz from dateutil import parser -from flask import ( - abort, - current_app, - g, - make_response, - redirect, - request, - session, - url_for, -) +from flask import abort, current_app, g, make_response, request from flask_login import current_user from notifications_utils.field import Field from notifications_utils.timezones import utc_string_to_aware_gmt_datetime @@ -45,16 +36,6 @@ def service_has_permission(permission): return wrap -def redirect_to_sign_in(f): - @wraps(f) - def wrapped(*args, **kwargs): - if 'user_details' not in session: - return redirect(url_for('main.sign_in')) - else: - return f(*args, **kwargs) - return wrapped - - def get_help_argument(): return request.args.get('help') if request.args.get('help') in ('1', '2', '3') else None diff --git a/app/utils/login.py b/app/utils/login.py new file mode 100644 index 000000000..c96fba71f --- /dev/null +++ b/app/utils/login.py @@ -0,0 +1,13 @@ +from functools import wraps + +from flask import redirect, session, url_for + + +def redirect_to_sign_in(f): + @wraps(f) + def wrapped(*args, **kwargs): + if 'user_details' not in session: + return redirect(url_for('main.sign_in')) + else: + return f(*args, **kwargs) + return wrapped