81 lines
2.5 KiB
Ruby
81 lines
2.5 KiB
Ruby
class Particular < ApplicationRecord
|
|
has_many :p_contacts, :as => :contactable, :dependent => :destroy
|
|
accepts_nested_attributes_for :p_contacts, allow_destroy: true
|
|
|
|
has_many :open_range_elements, :as => :element
|
|
|
|
has_many :open_ranges, :through => :open_range_elements
|
|
|
|
belongs_to :owner, :polymorphic => true
|
|
#has_many :p_customer_sheets
|
|
#validates :civilite, :presence => true, :if => :force_validation
|
|
#validates :name, :presence => true, :if => :force_validation
|
|
#validates :firstname, :presence => true, :if => :force_validation
|
|
validates :email, :presence => true, :format => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i, :if => :force_email_validation
|
|
#validates :address_2, :presence => true, :if => :force_validation
|
|
#validates :cp, :presence => true, :if => :force_validation
|
|
#validates :city, :presence => true, :if => :force_validation
|
|
validates :country, :presence => true, :if => :force_validation
|
|
#validates :tel, :presence => true, :if => :force_validation
|
|
validates :organisation, :presence => true, :if => :force_validation
|
|
attr_accessor :validate_email, :skip_email
|
|
|
|
belongs_to :particular_ref, :class_name => "Particular"
|
|
|
|
|
|
|
|
def self.qi_table_order
|
|
{
|
|
:created_at => {:name => "Date de création", :reorder => true, :as => :date},
|
|
:organisation => {:name => "Raison sociale", :reorder => true},
|
|
:name => {:name => "Nom", :reorder => true},
|
|
:firstname => {:name => "Prénom", :reorder => true},
|
|
:address_1 => {:name => "Adresse", :reorder => true},
|
|
:address_2 => {:name => "Adresse", :reorder => true},
|
|
:city => {:name => "Ville", :reorder => true},
|
|
:country => {:name => "Pays", :reorder => true},
|
|
:actions => {:name => "Actions", :reorder => false}
|
|
}
|
|
#, :sort_name => "code"
|
|
end
|
|
|
|
|
|
def validate_pro
|
|
true if self.force_validation and self.pro
|
|
end
|
|
def force_email_validation
|
|
false #true if (self.validate_email or self.force_validation) and !skip_email
|
|
end
|
|
def force_validation
|
|
|
|
|
|
if self.skip_validation
|
|
false
|
|
else
|
|
true
|
|
end
|
|
|
|
end
|
|
|
|
def address_longue
|
|
address_2.to_s + " " + address_3.to_s
|
|
end
|
|
|
|
|
|
|
|
def address_line
|
|
r = ""
|
|
r+= self.organisation+" " if self.organisation?
|
|
r+= self.name+" " if self.name?
|
|
r+= self.firstname+" " if self.firstname?
|
|
r+= self.address_1+" " if self.address_1?
|
|
r+= self.address_2+" " if self.address_2?
|
|
r+= self.address_3+" " if self.address_3?
|
|
r+= self.cp+" " if self.cp?
|
|
r+= self.city+" " if self.city?
|
|
return r
|
|
|
|
end
|
|
|
|
end
|