diff --git a/app/models/dr_rai/action_plan.rb b/app/models/dr_rai/action_plan.rb index a0c9a5af9b..ce7a3c4a25 100644 --- a/app/models/dr_rai/action_plan.rb +++ b/app/models/dr_rai/action_plan.rb @@ -5,7 +5,7 @@ class DrRai::ActionPlan < ApplicationRecord belongs_to :dr_rai_target, class_name: "DrRai::Target" belongs_to :region - validates :statement, presence: true + validates :statement, presence: true, if: :target_uses_statement? def indicator dr_rai_indicator @@ -44,4 +44,8 @@ def unprocessible? denominator.negative? || numerator.nil? end + + def target_uses_statement? + DrRai::Target::NEEDS_STATEMENT.include?(indicator.type) + end end diff --git a/app/models/dr_rai/bp_fudging_indicator.rb b/app/models/dr_rai/bp_fudging_indicator.rb index bbd924c9d8..7995d241cd 100644 --- a/app/models/dr_rai/bp_fudging_indicator.rb +++ b/app/models/dr_rai/bp_fudging_indicator.rb @@ -13,7 +13,7 @@ def display_name end def target_type_frontend - "percent" + "boolean" end def numerator_key all: nil diff --git a/app/models/dr_rai/target.rb b/app/models/dr_rai/target.rb index 4a5ba23048..05408262c6 100644 --- a/app/models/dr_rai/target.rb +++ b/app/models/dr_rai/target.rb @@ -5,6 +5,8 @@ class DrRai::Target < ApplicationRecord "boolean" => "DrRai::BooleanTarget" } + NEEDS_STATEMENT = %w[ percent numeric ].map { |t| TYPES[t] }.freeze + belongs_to :indicator, class_name: "DrRai::Indicator", foreign_key: "dr_rai_indicators_id" validates :period, presence: true, format: {with: /\AQ\d-\d{4}\Z/}