negos_app/app/models/product_customer.rb
2017-09-19 11:33:15 +02:00

48 lines
1.3 KiB
Ruby
Executable File

class ProductCustomer < ActiveRecord::Base
has_secure_password
validates :email, :presence => true, :uniqueness => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
validates_presence_of :password, :on => :create
belongs_to :particular_bill, :class_name => "Particular"
accepts_nested_attributes_for :particular_bill
belongs_to :particular_send, :class_name => "Particular"
accepts_nested_attributes_for :particular_send
before_create do
self.generate_token
self.particular_bill = Particular.create(:particular_type => "facturation", :skip_validation => true)
self.particular_idem = true
self.particular_send = Particular.create(:particular_type => "expedition", :skip_validation => true)
end
def send_password_reset
begin
self[:reset_password_token] = SecureRandom.urlsafe_base64
end while ProductCustomer.exists?(:reset_password_token => self[:reset_password_token])
self.reset_password_sent_at = Time.now
self.save(:validate => false)
ProductCustomerMailer.password_reset(self).deliver
end
def generate_token
begin
self.token = SecureRandom.urlsafe_base64
puts self.token
end while ProductCustomer.exists?(:token => self.token)
end
end