76 lines
1.4 KiB
Ruby
76 lines
1.4 KiB
Ruby
# -*- encoding : utf-8 -*-
|
|
class SheetYear < ActiveRecord::Base
|
|
belongs_to :sheet
|
|
has_one :person, :through => :sheet
|
|
validates_presence_of :year
|
|
|
|
attr_accessor :personalized_price, :validate_bienfaiteur
|
|
|
|
validates :personalized_price, :presence => true, numericality:{greater_than_or_equal_to: 20}, :if => :validate_bienfaiteur
|
|
|
|
|
|
#attr_accessible :year, :join_type, :benefactor, :gift_year, :paid_at, :amount, :payment_type, :bank, :check_number, :sheet_id, :plume
|
|
|
|
|
|
|
|
JOIN_TYPE = {1 => "Individuelle", 2 => "Familiale", 3 =>"Association"}
|
|
PAYMENT_TYPE = {1 => "Chèque", 2 => "Liquide", 3 => "Paypal (ou carte bancaire)"}
|
|
|
|
before_validation do
|
|
self.gift_year = false if !self.gift_year
|
|
true
|
|
end
|
|
|
|
|
|
after_save do
|
|
sy = self.sheet.sheet_years[0]
|
|
if sy
|
|
self.sheet.last_year = sy.year
|
|
self.sheet.first_year = self.sheet.sheet_years.reverse[0].year
|
|
|
|
|
|
if sy.plume
|
|
self.sheet.plume = true
|
|
else
|
|
self.sheet.plume = false
|
|
end
|
|
|
|
self.sheet.save
|
|
|
|
|
|
|
|
end
|
|
|
|
true
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
after_destroy do
|
|
sy = self.sheet.sheet_years[0]
|
|
if sy
|
|
self.sheet.last_year = sy.year
|
|
self.sheet.first_year = self.sheet.sheet_years.reverse[0].year
|
|
|
|
|
|
if sy.plume
|
|
self.sheet.plume = true
|
|
else
|
|
self.sheet.plume = false
|
|
end
|
|
|
|
|
|
|
|
else
|
|
self.sheet.plume = false
|
|
end
|
|
|
|
self.sheet.save
|
|
|
|
end
|
|
|
|
|
|
end
|