diff --git a/app/controllers/admins/users_controller.rb b/app/controllers/admins/users_controller.rb index 9327f659..a8880951 100644 --- a/app/controllers/admins/users_controller.rb +++ b/app/controllers/admins/users_controller.rb @@ -63,12 +63,14 @@ class Admins::UsersController < Admins::BaseController end def create - logger.info "---validate_create_params: #{validate_create_params}" Users::AdminCreateUserForm.new(validate_create_params).validate! - user = User.new(create_params) - user.type = 'User' - user.login = User.generate_login("p") + user = User.new(create_params) + login = User.generate_login("p") + + user.type = 'User' + user.login = login + user.mail = "#{login}@example.org" ActiveRecord::Base.transaction do if user.save! UserExtension.create!(user_id: user.id) @@ -108,6 +110,6 @@ class Admins::UsersController < Admins::BaseController end def validate_create_params - create_params.slice(:mail, :phone, :password) + create_params.slice(:phone, :password) end end diff --git a/app/forms/users/admin_create_user_form.rb b/app/forms/users/admin_create_user_form.rb index b57c317a..8845aa2b 100644 --- a/app/forms/users/admin_create_user_form.rb +++ b/app/forms/users/admin_create_user_form.rb @@ -2,22 +2,10 @@ class Users::AdminCreateUserForm include ActiveModel::Model - attr_accessor :mail, :phone, :password + attr_accessor :phone, :password - validates :mail, presence: true, format: { with: CustomRegexp::EMAIL, 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位密码,支持字母数字和符号" } - validate :check_mail - - private - def check_mail - return if mail.blank? - if User.exists?(mail: mail) - raise "邮箱 #{mail} 已使用." - errors.add(:mail, :not_exist) - end - end - end diff --git a/app/views/admins/users/new.html.erb b/app/views/admins/users/new.html.erb index e3c32f6b..d435e17f 100644 --- a/app/views/admins/users/new.html.erb +++ b/app/views/admins/users/new.html.erb @@ -11,7 +11,6 @@
<%= 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' } %>