diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 634d0d4e0..f322d239d 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -8,6 +8,7 @@ class AccountsController < ApplicationController simple_update_params.merge!(username: params[:username]&.gsub(/\s+/, "")) simple_update_params.merge!(email: params[:email]&.gsub(/\s+/, "")) simple_update_params.merge!(platform: (params[:platform] || 'forge')&.gsub(/\s+/, "")) + simple_update_params.merge!(user: current_user) Register::RemoteForm.new(simple_update_params).validate! ActiveRecord::Base.transaction do @@ -27,6 +28,7 @@ class AccountsController < ApplicationController # 其他平台同步注册的用户 def remote_register + remote_register_params.merge!(user: nil) Register::RemoteForm.new(remote_register_params).validate! username = params[:username]&.gsub(/\s+/, "") tip_exception("无法使用以下关键词:#{username},请重新命名") if ReversedKeyword.check_exists?(username) diff --git a/app/forms/register/remote_form.rb b/app/forms/register/remote_form.rb index 59a5fbc82..dabaacdb9 100644 --- a/app/forms/register/remote_form.rb +++ b/app/forms/register/remote_form.rb @@ -1,15 +1,15 @@ module Register class RemoteForm < Register::BaseForm # login 登陆方式,支持邮箱、登陆、手机号等 - attr_accessor :username, :email, :password, :platform + attr_accessor :username, :email, :password, :platform, :user validates :username, :email, :password, presence: true validate :check! def check! Rails.logger.info "Register::RemoteForm params: username: #{username}; email: #{email}; password: #{password}; platform: #{platform}" - check_login(username) - check_mail(email) + check_login(username, user) + check_mail(email,user) check_password(password) end end diff --git a/app/services/admins/import_user_from_excel_service.rb b/app/services/admins/import_user_from_excel_service.rb index 709551c23..ab8e793ce 100644 --- a/app/services/admins/import_user_from_excel_service.rb +++ b/app/services/admins/import_user_from_excel_service.rb @@ -45,7 +45,7 @@ class Admins::ImportUserFromExcelService < ApplicationService password = data.password nickname = data.nickname&.gsub(/\s+/, "") raise Error, "无法使用以下关键词:#{username},请重新命名" if ReversedKeyword.check_exists?(data.login) - Register::RemoteForm.new({username: username, email: email, password: password, platform: 'forge'}).validate! + Register::RemoteForm.new({username: username, email: email, password: password, platform: 'forge', user: nil}).validate! user = User.new(admin: false, login: username, mail: email, nickname: nickname, platform: 'forge' , type: "User") user.password = password user.activate