Sha256: b5f09ebb5e5646800c56e09b2f40a9a87030587e732ac1391ed1b9427ac1a221
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
module Spree class User < Spree::Base include UserMethods devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :encryptable devise :confirmable if Spree::Auth::Config[:confirmable] acts_as_paranoid after_destroy :scramble_email_and_password def password=(new_password) generate_spree_api_key if new_password.present? && spree_api_key.present? super end before_validation :set_login users_table_name = User.table_name roles_table_name = Role.table_name scope :admin, -> { includes(:spree_roles).where("#{roles_table_name}.name" => "admin") } def self.admin_created? User.admin.count > 0 end def admin? has_spree_role?('admin') end def confirmed? !!confirmed_at end protected def password_required? !persisted? || password.present? || password_confirmation.present? end private def set_login # for now force login to be same as email, eventually we will make this configurable, etc. self.login ||= self.email if self.email end def scramble_email_and_password self.email = SecureRandom.uuid + "@example.net" self.login = self.email self.password = SecureRandom.hex(8) self.password_confirmation = self.password self.save end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_auth_devise-2.2.0 | app/models/spree/user.rb |