mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 08:16:51 -04:00
when not logged in, redirect to sign-in
parts of the initial setup/login stages were throwing 500s if user not already in process (ie: user directly navigated to url): * /resend-email-verification * /text-not-received * /send-new-code * verify
This commit is contained in:
@@ -8,19 +8,20 @@ from flask import (
|
||||
from app import user_api_client
|
||||
from app.main import main
|
||||
from app.main.forms import TextNotReceivedForm
|
||||
from app.utils import redirect_to_sign_in
|
||||
|
||||
|
||||
@main.route('/resend-email-verification')
|
||||
@redirect_to_sign_in
|
||||
def resend_email_verification():
|
||||
# TODO there needs to be a way to regenerate a session id
|
||||
user = user_api_client.get_user_by_email(session['user_details']['email'])
|
||||
user_api_client.send_verify_email(user.id, user.email_address)
|
||||
return render_template('views/resend-email-verification.html', email=user.email_address)
|
||||
|
||||
|
||||
@main.route('/text-not-received', methods=['GET', 'POST'])
|
||||
@redirect_to_sign_in
|
||||
def check_and_resend_text_code():
|
||||
# TODO there needs to be a way to regenerate a session id
|
||||
user = user_api_client.get_user_by_email(session['user_details']['email'])
|
||||
|
||||
if user.state == 'active':
|
||||
@@ -38,8 +39,8 @@ def check_and_resend_text_code():
|
||||
|
||||
|
||||
@main.route('/send-new-code', methods=['GET'])
|
||||
@redirect_to_sign_in
|
||||
def check_and_resend_verification_code():
|
||||
# TODO there needs to be a way to generate a new session id
|
||||
user = user_api_client.get_user_by_email(session['user_details']['email'])
|
||||
user_api_client.send_verify_code(user.id, 'sms', user.mobile_number)
|
||||
if user.state == 'pending':
|
||||
|
||||
@@ -9,17 +9,14 @@ from flask import (
|
||||
from flask_login import login_user, current_user
|
||||
from app.main import main
|
||||
from app.main.forms import TwoFactorForm
|
||||
from app import service_api_client
|
||||
from app import user_api_client
|
||||
from app import service_api_client, user_api_client
|
||||
from app.utils import redirect_to_sign_in
|
||||
|
||||
|
||||
@main.route('/two-factor', methods=['GET', 'POST'])
|
||||
@redirect_to_sign_in
|
||||
def two_factor():
|
||||
# TODO handle user_email not in session
|
||||
try:
|
||||
user_id = session['user_details']['id']
|
||||
except KeyError:
|
||||
return redirect(url_for('main.sign_in'))
|
||||
user_id = session['user_details']['id']
|
||||
|
||||
def _check_code(code):
|
||||
return user_api_client.check_verify_code(user_id, code, "sms")
|
||||
|
||||
@@ -18,14 +18,14 @@ from notifications_utils.url_safe_token import check_token
|
||||
|
||||
from app.main import main
|
||||
from app.main.forms import TwoFactorForm
|
||||
from app.utils import redirect_to_sign_in
|
||||
|
||||
from app import user_api_client
|
||||
|
||||
|
||||
@main.route('/verify', methods=['GET', 'POST'])
|
||||
@redirect_to_sign_in
|
||||
def verify():
|
||||
# TODO there needs to be a way to regenerate a session id
|
||||
# or handle gracefully.
|
||||
user_id = session['user_details']['id']
|
||||
|
||||
def _check_code(code):
|
||||
|
||||
Reference in New Issue
Block a user