34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
class MailProfile < ApplicationRecord
|
|
|
|
|
|
|
|
validates :email, :presence => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, :if => :force_email?#, :uniqueness => { :scope => :petition_id, :message => "Vous avez déjà signé cette pétition avec cette adresse email" }
|
|
|
|
validates :name, :presence => true, :if => :force_particular?
|
|
validates :firstname, :presence => true, :if => :force_particular?
|
|
# validates :address, :presence => true
|
|
validates :cp, :presence => true, :if => :force_particular?
|
|
validates :city, :presence => true, :if => :force_particular?
|
|
validates :country, :presence => true, :if => :force_particular?
|
|
#validates :phone, :presence => true
|
|
|
|
attr_accessor :force_particular, :skip_email
|
|
|
|
|
|
def force_email?
|
|
true if !self.skip_email
|
|
end
|
|
def force_particular?
|
|
true if self.force_particular
|
|
end
|
|
|
|
before_create do
|
|
self.token = (Digest::MD5.hexdigest "#{SecureRandom.hex(10)}-#{DateTime.now.to_s}")
|
|
end
|
|
|
|
after_create do
|
|
#Registrant.create(:email => self.email, :petition_signator_id => self.id, :lang_site_id => self.lang_site_id) if self.newsletter
|
|
end
|
|
|
|
end
|