From c5929544002fe0f68c9bdc167f4a163e3fa2641e Mon Sep 17 00:00:00 2001 From: aignatov-bio Date: Mon, 13 Jul 2020 16:05:23 +0200 Subject: [PATCH] Add UX --- app/controllers/users/sessions_controller.rb | 6 ++++-- app/models/user.rb | 2 +- .../users/sessions/two_factor_auth.html.erb | 17 +++++++++-------- .../users/sessions/two_factor_recovery.html.erb | 13 +++++++------ config/locales/en.yml | 16 ++++++++++++---- 5 files changed, 33 insertions(+), 21 deletions(-) diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index c11e25e15..ca575eddb 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -102,10 +102,12 @@ class Users::SessionsController < Devise::SessionsController sign_in(user) generate_demo_project flash[:notice] = t('devise.sessions.signed_in') + redirect_to root_path else - flash.now[:alert] = t('Not correct recovery code') + flash[:alert] = t("devise.sessions.2fa_recovery.not_correct_code") + redirect_to new_user_session_path end - redirect_to root_path + end protected diff --git a/app/models/user.rb b/app/models/user.rb index 268ac7e99..cc0dd5cc4 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -676,7 +676,7 @@ class User < ApplicationRecord otp_recovery_codes.each do |recovery_code| if Devise::Encryptor.compare(self.class, recovery_code, code) - update(otp_recovery_codes: otp_recovery_codes.reject { |i| i == recovery_code }) + update!(otp_recovery_codes: otp_recovery_codes.reject { |i| i == recovery_code }) return true end end diff --git a/app/views/users/sessions/two_factor_auth.html.erb b/app/views/users/sessions/two_factor_auth.html.erb index 38dfdec22..c2db9afa5 100644 --- a/app/views/users/sessions/two_factor_auth.html.erb +++ b/app/views/users/sessions/two_factor_auth.html.erb @@ -3,18 +3,19 @@
diff --git a/app/views/users/sessions/two_factor_recovery.html.erb b/app/views/users/sessions/two_factor_recovery.html.erb index d614d621f..3b7f6eaa4 100644 --- a/app/views/users/sessions/two_factor_recovery.html.erb +++ b/app/views/users/sessions/two_factor_recovery.html.erb @@ -3,15 +3,16 @@