90 lines
1.9 KiB
Ruby
Executable File
90 lines
1.9 KiB
Ruby
Executable File
class Contact < ApplicationRecord
|
|
|
|
|
|
has_many :document_orders
|
|
has_many :data_files, :through => :document_orders
|
|
|
|
accepts_nested_attributes_for :document_orders
|
|
|
|
validates :name, :presence => true
|
|
#validates :firstname, :presence => true
|
|
#validates :civilite, :presence => true
|
|
|
|
#validates :address, :presence => true, :if => :postal_need
|
|
#validates :cp, :presence => true, :if => :postal_need
|
|
#validates :city, :presence => true, :if => :postal_need
|
|
#validates :country, :presence => true, :if => :postal_need
|
|
|
|
|
|
validates :email, :presence => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :if => :email_need
|
|
validates :message, :presence => true, :if => :message_need
|
|
|
|
def date_rgdp
|
|
date_rgdp = Time.parse("2018-05-25 18:26:00")
|
|
return date_rgdp
|
|
end
|
|
|
|
def valid_rgpd
|
|
true if Time.now > self.date_rgdp
|
|
end
|
|
|
|
#validates :rgdp, :presence => {:if => :valid_rgpd}
|
|
|
|
|
|
#raison_id
|
|
# 1 => contact classique
|
|
|
|
|
|
def message_need
|
|
true if raison_id != 3 and raison_id != 4 and raison_id != 2
|
|
end
|
|
|
|
def email_need
|
|
if raison_id == 1
|
|
true
|
|
else
|
|
false
|
|
end
|
|
end
|
|
|
|
before_validation do
|
|
if (raison_id == 2 or raison_id== 4) and !self.email? and !self.phone?
|
|
errors.add(:email, "Vous devez indiquer votre numéro de téléphone et/ou votre email")
|
|
errors.add(:phone, "Vous devez indiquer votre numéro de téléphone et/ou votre email")
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
def postal_need
|
|
if raison_id == 3
|
|
true
|
|
else
|
|
false
|
|
end
|
|
end
|
|
|
|
|
|
def raison_text
|
|
if self.raison_id == 1
|
|
"Demande de contact générale"
|
|
elsif self.raison_id == 2
|
|
"Demande de contact pour legs, assurance, donation"
|
|
|
|
elsif self.raison_id == 3
|
|
"Demande de documents"
|
|
|
|
elsif self.raison_id == 4
|
|
'Demande provenant de la page "Militer"'
|
|
else
|
|
"Demande de contact générale"
|
|
end
|
|
end
|
|
|
|
|
|
|
|
end
|