@ -53,7 +53,7 @@ class Form::Question
answer = label_from_value ( log [ id ] ) if log [ id ] . present?
answer = label_from_value ( log [ id ] ) if log [ id ] . present?
answer_label = [ prefix , format_value ( answer ) , suffix_label ( log ) ] . join ( " " ) if answer
answer_label = [ prefix , format_value ( answer ) , suffix_label ( log ) ] . join ( " " ) if answer
inferred = inferred_check_answers_value [ " value " ] if inferred_check_answers_value && has_inferred_check_answers_value? ( log )
inferred = get_inferred_answer_value ( log )
return inferred if inferred . present?
return inferred if inferred . present?
answer_label
answer_label
@ -104,11 +104,18 @@ class Form::Question
def has_inferred_check_answers_value? ( log )
def has_inferred_check_answers_value? ( log )
return true if selected_answer_option_is_derived? ( log )
return true if selected_answer_option_is_derived? ( log )
return inferred_check_answers_value [ " condition " ] . values [ 0 ] == log [ inferred_check_answers_ value [ " condition " ] . keys [ 0 ] ] if inferred_check_answers_value . present?
return inferred_check_answers_value & . any? { | inferred_value | inferred_value [ " condition " ] . values [ 0 ] == log [ inferred_value [ " condition " ] . keys [ 0 ] ] } if inferred_check_answers_value . present?
false
false
end
end
def get_inferred_answer_value ( log )
return unless inferred_check_answers_value
inferred_answer = inferred_check_answers_value . find { | inferred_value | inferred_value [ " condition " ] . values [ 0 ] == log [ inferred_value [ " condition " ] . keys [ 0 ] ] }
inferred_answer . present? ? inferred_answer [ " value " ] : " "
end
def displayed_answer_options ( log , _current_user = nil )
def displayed_answer_options ( log , _current_user = nil )
answer_options . select do | _key , val |
answer_options . select do | _key , val |
! val . is_a? ( Hash ) || ! val [ " depends_on " ] || form . depends_on_met ( val [ " depends_on " ] , log )
! val . is_a? ( Hash ) || ! val [ " depends_on " ] || form . depends_on_met ( val [ " depends_on " ] , log )
@ -271,7 +278,7 @@ private
end
end
def has_inferred_display_value? ( log )
def has_inferred_display_value? ( log )
inferred_check_answers_value . present? && log [ inferred_check_answers _value[ " condition " ] . keys . first ] == inferred_check_answers_ value [ " condition " ] . values . first
inferred_check_answers_value . present? && inferred_check_answers_value . any? { | inferred_value | log [ inferred _value[ " condition " ] . keys . first ] == inferred_value [ " condition " ] . values . first }
end
end
def checkbox_answer_label ( log )
def checkbox_answer_label ( log )