basic_app/app/models/m_odr_virement.rb
Nicolas Bally fd027c16c1 initial
2020-04-21 21:53:16 +02:00

117 lines
2.5 KiB
Ruby

class MOdrVirement < ApplicationRecord
belongs_to :m_odr
belongs_to :m_odr_rep
belongs_to :m_odr_rep_rib
belongs_to :m_odr_remise
QI_DYNAMICS = %w(remise iban_to bic_to iban_from bic_from bank_name bank_subject libelle )
eval(QI_DYNAMICS_CORE)
before_create { generate_token() }
def generate_token()
begin
self[:token] = SecureRandom.urlsafe_base64
end while MOdrVirement.exists?(:token => self[:token])
end
def self.qi_table_order
{
:created_at => {:name => "Date", :reorder => true},
:m_odr_rep_link => {:name => "Participation :"},
:amount => {:name => "Montant", :reorder => true},
:cc_iban_to => {:name => "Iban destinataire", :reorder => true},
:cc_bic_to => {:name => "Bic destinataire", :reorder => true},
:cc_iban_from => {:name => "Iban expéditeur", :reorder => true},
:cc_bic_from => {:name => "Bic expéditeur", :reorder => true},
:enabled => {:name => "Ok pour remise ?", :reorder => true},
:sended => {:name => "Validé par la banque ?", :reorder => true},
:refused => {:name => "Refusé par la banque?", :reorder => true},
:actions => "Actions",
#:created_at => {:name => "Date", :reorder => true},
}
#, :sort_name => "code"
end
def ca_remise
self.m_odr_rep.remise if self.m_odr_rep
end
def ca_iban_to
self.m_odr_rep_rib.iban if self.m_odr_rep_rib
end
def ca_bic_to
self.m_odr_rep_rib.bic if self.m_odr_rep_rib
end
def ca_iban_from
self.m_odr_remise.iban_from if self.m_odr_remise
end
def ca_bic_from
self.m_odr_remise.bic_from if self.m_odr_remise
end
def ca_bank_name
self.m_odr_remise.bank_name if self.m_odr_remise
end
def ca_bank_subject
self.m_odr_remise.bank_subject if self.m_odr_remise
end
def ca_libelle
self.id.to_s+"-"+self.bank_subject if self.bank_subject
end
before_validation do
self.m_odr = self.m_odr_rep.m_odr if self.m_odr_rep
self.m_odr_rep_rib = self.m_odr_rep.m_odr_rep_ribs.where(:admin_ok => true).order("id DESC").first
self.amount = self.remise
end
def self.valid_sort
r = []
self.qi_table_order.each do |key, value|
if value.instance_of? Hash
if value[:reorder] and value[:reorder] == true
r << key.to_s if value[:reorder]
end
end
end
return r
end
end