Browse Source

fixed 修改用户

pull/343/head
xxqfamous 3 years ago
parent
commit
5fa1709664
3 changed files with 6 additions and 4 deletions
  1. +2
    -0
      app/controllers/accounts_controller.rb
  2. +3
    -3
      app/forms/register/remote_form.rb
  3. +1
    -1
      app/services/admins/import_user_from_excel_service.rb

+ 2
- 0
app/controllers/accounts_controller.rb View File

@@ -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)


+ 3
- 3
app/forms/register/remote_form.rb View File

@@ -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


+ 1
- 1
app/services/admins/import_user_from_excel_service.rb View File

@@ -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


Loading…
Cancel
Save