Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Goal < ActiveRecord::Base
- belongs_to :management_plan
- has_many :objectives, :dependent => :destroy
- accepts_nested_attributes_for :objectives
- default_scope :order => 'id ASC'
- def percentages
- a = []
- ActionStatus.order('id ASC').each do |as|
- a << [self.objectives.joins(:strategies => {:plan_actions => :plan_action_progresses}).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f / self.objectives.joins(:strategies => {:plan_actions => :plan_action_progresses}).where("plan_action_progresses.action_status_id = #{as.id}").count.to_f]
- end
- a
- end
- end
- class Objective < ActiveRecord::Base
- belongs_to :goal
- has_many :strategies, :dependent => :destroy
- accepts_nested_attributes_for :strategies
- default_scope :order => 'id ASC'
- def percentages
- a = []
- ActionStatus.order('id ASC').each do |as|
- a << (self.strategies.joins(:plan_actions => :plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f / self.strategies.joins(:plan_actions => :plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").count.to_f)
- end
- a
- end
- end
- class Strategy < ActiveRecord::Base
- belongs_to :objective
- has_many :plan_actions
- has_many :unit_actions, :through => :plan_actions
- accepts_nested_attributes_for :plan_actions
- accepts_nested_attributes_for :unit_actions
- default_scope :order => 'id ASC'
- def percentages
- a = []
- ActionStatus.order('id ASC').each do |as|
- a << (self.plan_actions.joins(:plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f / self.plan_actions.joins(:plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").count.to_f)
- end
- a
- end
- end
- class PlanAction < ActiveRecord::Base
- belongs_to :plan_period
- belongs_to :effort_level
- belongs_to :strategy
- has_many :unit_actions, :dependent => :destroy
- has_many :stewardship_units, :through => :unit_actions
- has_many :plan_action_progresses, :dependent => :destroy
- accepts_nested_attributes_for :unit_actions
- default_scope :order => 'id ASC'
- def percentages
- a = []
- ActionStatus.order('id ASC').each do |as|
- a << (self.plan_action_progresses.where(:action_status_id => as.id).sum(pap) / self.plan_action_progresses.where(:action_status_id => as.id).count)
- end
- a
- end
- end
- self.strategies.joins(:plan_actions => :plan_action_progresses).where("plan_action_progresses.action_status_id = #{as.id}").sum("plan_action_progresses.percentage").to_f
Add Comment
Please, Sign In to add comment