kaps_app/app/models/kaps_day.rb
Nicolas Bally d60301e8a7 initial
2019-01-21 01:15:10 +01:00

63 lines
1.1 KiB
Ruby

class KapsDay < ActiveRecord::Base
belongs_to :p_customer
has_many :kapsmes
after_save do
self.p_customer.kaps.where(:kaps_type_id => 1).each do |kap|
if !self.kapsmes.where(:kap_id => kap.id).first
self.kapsmes.create(
:kap_id => kap.id,
:name => kap.name,
:description => kap.description,
:public => kap.public,
:kaps_cat_id => kap.kaps_cat_id,
:kaps_type_id => kap.kaps_type_id,
:points => kap.points,
:origin_kaps_id => kap.origin_kaps_id,
:origin_author_id => kap.origin_author_id,
:archived => kap.archived,
:kaps_day_id => self.id,
:p_customer => self.p_customer
)
end
end
end
def total_points
self.kapsmes.sum(:points)
end
def total_points_earneds
self.kapsmes.where(:done => true).sum(:points)
end
def completed
(100.0 * self.total_points_earneds.to_f) / total_points.to_f
end
end