50 lines
1.6 KiB
Ruby
50 lines
1.6 KiB
Ruby
class OrderHist < ApplicationRecord
|
|
has_many :order_hist_lines
|
|
|
|
belongs_to :p_customer
|
|
belongs_to :p_commercial
|
|
belongs_to :p_payment_type
|
|
|
|
acts_as_sorting :fields => {
|
|
#:id => {:name => "Id", :reorder => true},
|
|
:p_customer_id => {:name => "Client", :reorder => true},
|
|
:numerofacture => {:name => "Numéro facture", :reorder => true},
|
|
|
|
:montant_ht => {:name => "Montant HT", :reorder => true, :as => :currency},
|
|
:montant_ht_remise => {:name => "Montant HT remisé", :reorder => true, :as => :currency},
|
|
|
|
|
|
#:date_modification => {:name => "", :reorder => true},
|
|
:date_facture => {:name => "Date facture", :reorder => true, :as => :date},
|
|
#:colisage => {:name => "", :reorder => true},
|
|
#:nbr_colis => {:name => "", :reorder => true},
|
|
|
|
:p_payment_type_id => {:name => "Type de paiement", :reorder => true},
|
|
#:echeance_nbr_jour => {:name => "Nbr jours paiement", :reorder => true},
|
|
#:code_commercial => {:name => "Code commercial", :reorder => true},
|
|
:p_commercial_id => {:name => "Commercial", :reorder => true},
|
|
|
|
|
|
:actions => {:name => "Actions"}
|
|
|
|
}
|
|
|
|
|
|
before_save do
|
|
|
|
incremental = [ :montant_ht, :montant_ht_remise]
|
|
|
|
incremental.each do |c|
|
|
eval "self.#{c.to_s} = self.order_hist_lines.sum(:#{c.to_s})"
|
|
end
|
|
|
|
incremental = [ :montant_ht_com, :cout_achat_ht, :marge_brut_hors_remise, :marge_brut_remise, :marge_net, :marge_brut_hors_remise_pa, :marge_brut_remise_pa, :marge_net_ht_pa]
|
|
|
|
incremental.each do |c|
|
|
eval "self.#{c.to_s} = self.order_hist_lines.sum(:cc_#{c.to_s})"
|
|
end
|
|
|
|
|
|
end
|
|
end
|