49 lines
1.6 KiB
Ruby
49 lines
1.6 KiB
Ruby
class VolumePeriodique < ApplicationRecord
|
|
acts_as_sorting :fields => {
|
|
:id => {:name => "Id", :reorder => true},
|
|
:codemanaginn => {:name => "Numéro CCV", :reorder => true},
|
|
#:codeindicateur => {:name => "Codeindicateur", :reorder => true},
|
|
:datedebut => {:name => "Date", :reorder => true, :as => :date},
|
|
#:datefin => {:name => "Datefin", :reorder => true},
|
|
:valeur => {:name => "Valeur", :reorder => true, :as => :currency},
|
|
#:datereception => {:name => "Datereception", :reorder => true},
|
|
:commentaire => {:name => "Commentaire", :reorder => true},
|
|
:codesociete => {:name => "Code société", :reorder => true},
|
|
#:created_at => {:name => "Created_at", :reorder => true},
|
|
#:updated_at => {:name => "Updated_at", :reorder => true},
|
|
:actions => {:name => "Actions", :reorder => true}
|
|
}
|
|
|
|
|
|
validates :valeur, :presence => true
|
|
validates :datedebut, :presence => true
|
|
|
|
|
|
attr_accessor :super_admin_power
|
|
|
|
def super_admin_power?
|
|
if self.super_admin_power
|
|
true
|
|
else
|
|
false
|
|
end
|
|
end
|
|
|
|
before_validation do
|
|
#self.codesociete = self.v_contact.codeproprietaire
|
|
self.codeindicateur = "MGI000000001" if !self.codeindicateur?
|
|
|
|
|
|
errors.add(:valeur, "Doit être positif") if (!self.id and valeur.to_f < 0.0 and !super_admin_power?)
|
|
end
|
|
|
|
after_save do
|
|
self.v_contact.save
|
|
self.societe.save
|
|
end
|
|
|
|
belongs_to :v_contact, :foreign_key => :codemanaginn, :primary_key => :codemanaginn, :class_name => "VContact"
|
|
belongs_to :societe, :foreign_key => :codesociete, :primary_key => :socmanaginn, :class_name => "Societe"
|
|
|
|
end
|