Merge pull request 'FIX [gitea] reset pw bug' (#236) from jasder/forgeplus:featrue_login_and_register into featrue_login_and_register

This commit is contained in:
jasder 2021-11-04 09:29:19 +08:00
commit 2ece9908a6
2 changed files with 11 additions and 2 deletions

View File

@ -157,7 +157,7 @@ class AccountsController < ApplicationController
# 用户登录 # 用户登录
def login def login
Users::LoginForm.new(account_params).validate! Users::LoginForm.new(login_params).validate!
@user = User.try_to_login(params[:login], params[:password]) @user = User.try_to_login(params[:login], params[:password])
return normal_status(-2, "错误的账号或密码") if @user.blank? return normal_status(-2, "错误的账号或密码") if @user.blank?
@ -225,6 +225,8 @@ class AccountsController < ApplicationController
render_result(-7, e.message) render_result(-7, e.message)
rescue Register::BaseForm::VerifiCodeError => e rescue Register::BaseForm::VerifiCodeError => e
render_result(-6, e.message) render_result(-6, e.message)
rescue ActiveRecord::Rollback => e
render_result(-1, "服务器异常")
rescue Exception => e rescue Exception => e
uid_logger_error(e.message) uid_logger_error(e.message)
tip_exception(e.message) tip_exception(e.message)
@ -353,7 +355,7 @@ class AccountsController < ApplicationController
params.require(:user).permit(:login, :email, :phone) params.require(:user).permit(:login, :email, :phone)
end end
def account_params def login_params
params.require(:account).permit(:login, :password) params.require(:account).permit(:login, :password)
end end

View File

@ -16,6 +16,13 @@ module Accounts
##### password: #{@password} password_confirmation: #{@password_confirmation}" ##### password: #{@password} password_confirmation: #{@password_confirmation}"
@user.password, @user.password_confirmation = password, 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 @user
end end