gravier_app/app/models/petition_signator.rb
2017-09-21 12:37:53 +02:00

58 lines
1.4 KiB
Ruby

class PetitionSignator < ActiveRecord::Base
belongs_to :petition
belongs_to :lang_site
has_one :registrant
attr_accessor :email_confirmation
#attr_accessible :address, :address2, :city, :enabled, :token, :country, :cp, :email, :email_confirmation, :firstname, :name, :petition_id
belongs_to :mail_profile
accepts_nested_attributes_for :mail_profile
validates :email, :presence => true, :uniqueness => { :scope => :petition_id, :message => "Vous avez déjà signé cette pétition avec cette adresse email" }
validates :name, :presence => true
validates :firstname, :presence => true
# validates :address, :presence => true
validates :cp, :presence => true
validates :city, :presence => true
validates :country, :presence => true
#validates :phone, :presence => true
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
def export_lang
if self.lang_site_id
if self.lang_site_id == 1
"fr"
elsif self.lang_site_id == 2
"en"
end
end
end
def address_long
address.to_s + " " + address2.to_s
end
def export_petition
self.petition.name if self.petition
end
end