From 9ba297ccf6ea21e2b1862de9d9aae92e59867331 Mon Sep 17 00:00:00 2001 From: jasder Date: Tue, 8 Jun 2021 09:27:41 +0800 Subject: [PATCH] =?UTF-8?q?FIX=20=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E8=87=AA=E5=8A=A8=E4=B8=BA=E7=94=A8=E6=88=B7=E7=94=9F?= =?UTF-8?q?=E6=88=90=E9=82=AE=E7=AE=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/users_controller.rb | 12 +++++++----- app/forms/users/admin_create_user_form.rb | 14 +------------- app/views/admins/users/new.html.erb | 1 - 3 files changed, 8 insertions(+), 19 deletions(-) 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' } %>