basic_app/app/models/contact.rb
Nicolas Bally 4c750c08b0 suite
2020-07-01 18:14:53 +02:00

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