diff options
author | George Andrinopoulos <geoandri@gmail.com> | 2017-03-27 09:37:24 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-03-27 09:37:24 +0000 |
commit | 7c74a0209b2354ee9260bfebe9bbde5cd0c141bf (patch) | |
tree | f98ebab7adf9ca90ab7128c4f9e9605d84b13ae9 /app/models | |
parent | e19d4c511d21e14d2442546a5d00c5fbdf13308a (diff) | |
download | gitlab-ce-7c74a0209b2354ee9260bfebe9bbde5cd0c141bf.tar.gz |
Implement new service for creating user
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/user.rb | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 1c2821bb91a..612066654dc 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -128,10 +128,9 @@ class User < ActiveRecord::Base validate :unique_email, if: ->(user) { user.email_changed? } validate :owns_notification_email, if: ->(user) { user.notification_email_changed? } validate :owns_public_email, if: ->(user) { user.public_email_changed? } + validate :signup_domain_valid?, on: :create, if: ->(user) { !user.created_by_id } validates :avatar, file_size: { maximum: 200.kilobytes.to_i } - before_validation :generate_password, on: :create - before_validation :signup_domain_valid?, on: :create, if: ->(user) { !user.created_by_id } before_validation :sanitize_attrs before_validation :set_notification_email, if: ->(user) { user.email_changed? } before_validation :set_public_email, if: ->(user) { user.public_email_changed? } @@ -141,8 +140,6 @@ class User < ActiveRecord::Base before_save :ensure_external_user_rights after_save :ensure_namespace_correct after_initialize :set_projects_limit - before_create :check_confirmation_email - after_create :post_create_hook after_destroy :post_destroy_hook # User's Layout preference @@ -386,10 +383,8 @@ class User < ActiveRecord::Base "#{self.class.reference_prefix}#{username}" end - def generate_password - if force_random_password - self.password = self.password_confirmation = Devise.friendly_token.first(Devise.password_length.min) - end + def skip_confirmation=(bool) + skip_confirmation! if bool end def generate_reset_token @@ -401,10 +396,6 @@ class User < ActiveRecord::Base @reset_token end - def check_confirmation_email - skip_confirmation! unless current_application_settings.send_user_confirmation_email - end - def recently_sent_password_reset? reset_password_sent_at.present? && reset_password_sent_at >= 1.minute.ago end @@ -799,12 +790,6 @@ class User < ActiveRecord::Base end end - def post_create_hook - log_info("User \"#{name}\" (#{email}) was created") - notification_service.new_user(self, @reset_token) if created_by_id - system_hook_service.execute_hooks_for(self, :create) - end - def post_destroy_hook log_info("User \"#{name}\" (#{email}) was removed") system_hook_service.execute_hooks_for(self, :destroy) |