Browse Source

change to use question completed method

pull/244/head
MadeTech Dushan 4 years ago
parent
commit
9bc7e3b049
  1. 1
      app/models/form/question.rb
  2. 4
      app/models/form/subsection.rb

1
app/models/form/question.rb

@ -80,6 +80,7 @@ class Form::Question
def completed?(case_log)
# Special case as No is a valid answer but doesn't let you progress and use the service
return false if id == "gdpr_acceptance" && case_log[id] == "No"
return answer_options.keys.any? { |key| case_log[key] == "Yes" } if type == "checkbox"
case_log[id].present? || !case_log.respond_to?(id.to_sym)
end

4
app/models/form/subsection.rb

@ -32,7 +32,7 @@ class Form::Subsection
qs = applicable_questions(case_log)
return :not_started if qs.all? { |question| case_log[question.id].blank? || question.read_only? }
return :completed if qs.all? { |question| question.type == "checkbox" ? question.answer_options.keys.any? { |key| case_log[key] == "Yes" } : question.completed?(case_log) }
return :completed if qs.all? { |question| question.completed?(case_log) }
:in_progress
end
@ -58,7 +58,7 @@ class Form::Subsection
end
def answered_questions(case_log)
applicable_questions(case_log).select { |question| question.type == "checkbox" ? question.answer_options.keys.any? { |key| case_log[key] == "Yes" } : case_log[question.id].present? }
applicable_questions(case_log).select { |question| question.completed?(case_log) }
end
def unanswered_questions(case_log)

Loading…
Cancel
Save