From a549dc1e25b5db733f93c8408ee57a4d68a11afd Mon Sep 17 00:00:00 2001 From: jasder Date: Wed, 3 Nov 2021 21:32:17 +0800 Subject: [PATCH] FIX reset password bug --- app/controllers/accounts_controller.rb | 2 ++ app/services/accounts/reset_password_service.rb | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index c2d7c99c1..70e5b603b 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -225,6 +225,8 @@ class AccountsController < ApplicationController render_result(-7, e.message) rescue Register::BaseForm::VerifiCodeError => e render_result(-6, e.message) + rescue ActiveRecord::Rollback => e + render_result(-1, "服务器异常") rescue Exception => e uid_logger_error(e.message) tip_exception(e.message) diff --git a/app/services/accounts/reset_password_service.rb b/app/services/accounts/reset_password_service.rb index 61a4bb1cf..5202fe77a 100644 --- a/app/services/accounts/reset_password_service.rb +++ b/app/services/accounts/reset_password_service.rb @@ -16,6 +16,13 @@ module Accounts ##### password: #{@password} password_confirmation: #{@password_confirmation}" @user.password, @user.password_confirmation = password, password_confirmation + + sync_params = { + password: password, + email: @user.mail + } + interactor = Gitea::User::UpdateInteractor.call(@user.login, sync_params) + raise ActiveRecord::Rollback unless interactor.success? @user end