From 65072e41d32460be60804321fe04ac53d6ca0afa Mon Sep 17 00:00:00 2001 From: Imdad Ahad Date: Thu, 8 Sep 2016 16:57:06 +0100 Subject: [PATCH] Fix issue where exception thrown when user does not activate email but successfully completes forgotten-password flow (which includes 2f) --- app/main/views/sign_in.py | 1 - app/main/views/two_factor.py | 5 ++++- app/utils.py | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/main/views/sign_in.py b/app/main/views/sign_in.py index cdbc31c8f..524a6339e 100644 --- a/app/main/views/sign_in.py +++ b/app/main/views/sign_in.py @@ -28,7 +28,6 @@ from app.main.forms import LoginForm @main.route('/sign-in', methods=(['GET', 'POST'])) def sign_in(): - if current_user and current_user.is_authenticated: return redirect(url_for('main.choose_service')) diff --git a/app/main/views/two_factor.py b/app/main/views/two_factor.py index a728aea19..54a8400f9 100644 --- a/app/main/views/two_factor.py +++ b/app/main/views/two_factor.py @@ -24,6 +24,7 @@ def two_factor(): form = TwoFactorForm(_check_code) if form.validate_on_submit(): + import pdb; pdb.set_trace() try: user = user_api_client.get_user(user_id) services = service_api_client.get_services({'user_id': str(user_id)}).get('data', []) @@ -32,7 +33,9 @@ def two_factor(): user.set_password(session['user_details']['password']) user.reset_failed_login_count() user_api_client.update_user(user) - login_user(user, remember=True) + + activated_user = user_api_client.activate_user(user) + login_user(activated_user, remember=True) finally: del session['user_details'] diff --git a/app/utils.py b/app/utils.py index 98178fd7f..aee92effd 100644 --- a/app/utils.py +++ b/app/utils.py @@ -54,6 +54,7 @@ def user_has_permissions(*permissions, admin_override=False, any_=False): def redirect_to_sign_in(f): @wraps(f) def wrapped(*args, **kwargs): + import pdb; pdb.set_trace() if 'user_details' not in session: return redirect(url_for('main.sign_in')) else: