FIX 后台管理系统添加用户时,自动为用户生产登录名
This commit is contained in:
parent
89bc20e540
commit
66fd6a71e5
|
@ -68,6 +68,7 @@ class Admins::UsersController < Admins::BaseController
|
||||||
|
|
||||||
user = User.new(create_params)
|
user = User.new(create_params)
|
||||||
user.type = 'User'
|
user.type = 'User'
|
||||||
|
user.login = User.generate_login("p")
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
if user.save!
|
if user.save!
|
||||||
UserExtension.create!(user_id: user.id)
|
UserExtension.create!(user_id: user.id)
|
||||||
|
@ -103,10 +104,10 @@ class Admins::UsersController < Admins::BaseController
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_params
|
def create_params
|
||||||
params.require(:user).permit(%i[login nickname gender mail phone location location_city password professional_certification])
|
params.require(:user).permit(%i[nickname gender mail phone location location_city password professional_certification])
|
||||||
end
|
end
|
||||||
|
|
||||||
def validate_create_params
|
def validate_create_params
|
||||||
create_params.slice(:login, :mail, :phone, :password)
|
create_params.slice(:mail, :phone, :password)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,14 +2,13 @@ class Users::AdminCreateUserForm
|
||||||
include ActiveModel::Model
|
include ActiveModel::Model
|
||||||
|
|
||||||
|
|
||||||
attr_accessor :mail, :login, :phone, :password
|
attr_accessor :mail, :phone, :password
|
||||||
|
|
||||||
validates :login, presence: true
|
|
||||||
validates :mail, presence: true, format: { with: CustomRegexp::EMAIL, message: "邮箱格式错误." }
|
validates :mail, presence: true, format: { with: CustomRegexp::EMAIL, message: "邮箱格式错误." }
|
||||||
validates :phone, presence: true, format: { with: CustomRegexp::PHONE, message: "手机号格式错误" }
|
validates :phone, presence: true, format: { with: CustomRegexp::PHONE, message: "手机号格式错误" }
|
||||||
validates :password, presence: true, length: { minimum: 8, maximum: 16 }, format: { with: CustomRegexp::PASSWORD, message: "8~16位密码,支持字母数字和符号" }
|
validates :password, presence: true, length: { minimum: 8, maximum: 16 }, format: { with: CustomRegexp::PASSWORD, message: "8~16位密码,支持字母数字和符号" }
|
||||||
|
|
||||||
validate :check_login, :check_mail
|
validate :check_mail
|
||||||
|
|
||||||
private
|
private
|
||||||
def check_mail
|
def check_mail
|
||||||
|
@ -20,13 +19,5 @@ class Users::AdminCreateUserForm
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def check_login
|
|
||||||
return if login.blank?
|
|
||||||
if User.exists?(login: login)
|
|
||||||
raise "手机号 #{login} 已使用."
|
|
||||||
errors.add(:login, :not_exist)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -10,18 +10,9 @@
|
||||||
<%= f.error_notification %>
|
<%= f.error_notification %>
|
||||||
<div class="form-group px-2">
|
<div class="form-group px-2">
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<%= f.input :login, label: '登录名', required: true, wrapper_html: { class: 'col-md-3' }, input_html: { class: 'col-md-11' } %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<%= f.input :nickname, label: '昵称', wrapper_html: { class: 'col-md-3' }, input_html: { class: 'col-md-11' } %>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="form-row">
|
|
||||||
<%= f.input :mail, as: :email, label: '邮箱地址', required: true, error_html: { id: 'password_error'}, wrapper_html: { class: 'col-md-3' }, input_html: { class: 'col-sm-11' } %>
|
|
||||||
<%= f.input :phone, as: :tel, label: '手机号', required: true, wrapper_html: { class: 'col-md-3' }, input_html: { class: 'col-sm-11', autocomplete: 'off' } %>
|
<%= f.input :phone, as: :tel, label: '手机号', required: true, wrapper_html: { class: 'col-md-3' }, input_html: { class: 'col-sm-11', autocomplete: 'off' } %>
|
||||||
|
<%= f.input :mail, as: :email, label: '邮箱地址', required: true, error_html: { id: 'password_error'}, wrapper_html: { class: 'col-md-3' }, input_html: { class: 'col-sm-11' } %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
|
|
Loading…
Reference in New Issue