Browse Source

feat: add dynamic question ids and check_answers behaviour

CLDC-1528-person-1-relationship-to-buyer-1
natdeanlewissoftwire 2 years ago
parent
commit
bd8cc96999
  1. 21
      app/models/form/sales/pages/person1_age.rb
  2. 34
      app/models/form/sales/pages/person1_age_joint_purchase.rb
  3. 2
      app/models/form/sales/pages/person1_gender_identity.rb
  4. 2
      app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb
  5. 10
      app/models/form/sales/pages/person1_known.rb
  6. 21
      app/models/form/sales/pages/person1_known_joint_purchase.rb
  7. 21
      app/models/form/sales/pages/person2_age.rb
  8. 34
      app/models/form/sales/pages/person2_age_joint_purchase.rb
  9. 8
      app/models/form/sales/pages/person2_known.rb
  10. 21
      app/models/form/sales/pages/person2_known_joint_purchase.rb
  11. 21
      app/models/form/sales/pages/person3_age.rb
  12. 34
      app/models/form/sales/pages/person3_age_joint_purchase.rb
  13. 6
      app/models/form/sales/pages/person3_known.rb
  14. 20
      app/models/form/sales/pages/person3_known_joint_purchase.rb
  15. 21
      app/models/form/sales/pages/person4_age.rb
  16. 34
      app/models/form/sales/pages/person4_age_joint_purchase.rb
  17. 4
      app/models/form/sales/pages/person4_known.rb
  18. 19
      app/models/form/sales/pages/person4_known_joint_purchase.rb
  19. 9
      app/models/form/sales/questions/person1_age.rb
  20. 18
      app/models/form/sales/questions/person1_age_known.rb
  21. 3
      app/models/form/sales/questions/person1_gender_identity.rb
  22. 19
      app/models/form/sales/questions/person1_gender_identity_joint_purchase.rb
  23. 2
      app/models/form/sales/questions/person1_known.rb
  24. 20
      app/models/form/sales/questions/person1_relationship_to_buyer1_joint_purchase.rb
  25. 9
      app/models/form/sales/questions/person2_age.rb
  26. 18
      app/models/form/sales/questions/person2_age_known.rb
  27. 2
      app/models/form/sales/questions/person2_known.rb
  28. 9
      app/models/form/sales/questions/person3_age.rb
  29. 18
      app/models/form/sales/questions/person3_age_known.rb
  30. 2
      app/models/form/sales/questions/person3_known.rb
  31. 9
      app/models/form/sales/questions/person4_age.rb
  32. 18
      app/models/form/sales/questions/person4_age_known.rb
  33. 2
      app/models/form/sales/questions/person4_known.rb
  34. 8
      app/models/form/sales/subsections/household_characteristics.rb

21
app/models/form/sales/pages/person1_age.rb

@ -6,14 +6,29 @@ class Form::Sales::Pages::Person1Age < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "details_known_1" => 1 }, { "details_known_1" => 1, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person1AgeKnown.new(nil, nil, self), Form::Sales::Questions::Person1AgeKnown.new("age2_known", { check_answers_card_number: 2,
Form::Sales::Questions::Person1Age.new(nil, nil, self), conditional_for: {
"age2" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age2_known" => 0,
},
{
"age2_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person1Age.new("age2", { check_answers_card_number: 2,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 1 }] },
inferred_check_answers_value: { "condition" => { "age2_known" => 1 }, "value" => "Not known" } }, self),
] ]
end end
end end

34
app/models/form/sales/pages/person1_age_joint_purchase.rb

@ -0,0 +1,34 @@
class Form::Sales::Pages::Person1AgeJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_1_age_joint_purchase"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "details_known_1" => 1, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person1AgeKnown.new("age3_known", { check_answers_card_number: 3,
conditional_for: {
"age3" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age3_known" => 0,
},
{
"age3_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person1Age.new("age3", { check_answers_card_number: 3,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 2 }] },
inferred_check_answers_value: { "condition" => { "age3_known" => 1 }, "value" => "Not known" } }, self),
]
end
end

2
app/models/form/sales/pages/person1_gender_identity.rb

@ -12,7 +12,7 @@ class Form::Sales::Pages::Person1GenderIdentity < ::Form::Page
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person1GenderIdentity.new(nil, nil, self), Form::Sales::Questions::Person1GenderIdentity.new("sex2", { check_answers_card_number: 2 }, self),
] ]
end end
end end

2
app/models/form/sales/pages/person1_gender_identity_joint_purchase.rb

@ -12,7 +12,7 @@ class Form::Sales::Pages::Person1GenderIdentityJointPurchase < ::Form::Page
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person1GenderIdentityJointPurchase.new(nil, nil, self), Form::Sales::Questions::Person1GenderIdentity.new("sex3", { check_answers_card_number: 3 }, self),
] ]
end end
end end

10
app/models/form/sales/pages/person1_known.rb

@ -6,16 +6,16 @@ class Form::Sales::Pages::Person1Known < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "hholdcount" => 1 }, { "hholdcount" => 1, "jointpur" => 2 },
{ "hholdcount" => 2 }, { "hholdcount" => 2, "jointpur" => 2 },
{ "hholdcount" => 3 }, { "hholdcount" => 3, "jointpur" => 2 },
{ "hholdcount" => 4 }, { "hholdcount" => 4, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person1Known.new(nil, nil, self), Form::Sales::Questions::Person1Known.new(nil, { check_answers_card_number: 2 }, self),
] ]
end end
end end

21
app/models/form/sales/pages/person1_known_joint_purchase.rb

@ -0,0 +1,21 @@
class Form::Sales::Pages::Person1KnownJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_1_known_joint_purchase"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "hholdcount" => 1, "jointpur" => 1 },
{ "hholdcount" => 2, "jointpur" => 1 },
{ "hholdcount" => 3, "jointpur" => 1 },
{ "hholdcount" => 4, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person1Known.new(nil, { check_answers_card_number: 3 }, self),
]
end
end

21
app/models/form/sales/pages/person2_age.rb

@ -6,14 +6,29 @@ class Form::Sales::Pages::Person2Age < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "details_known_2" => 1 }, { "details_known_2" => 1, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person2AgeKnown.new(nil, nil, self), Form::Sales::Questions::Person2AgeKnown.new("age3_known", { check_answers_card_number: 3,
Form::Sales::Questions::Person2Age.new(nil, nil, self), conditional_for: {
"age3" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age3_known" => 0,
},
{
"age3_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person2Age.new("age3", { check_answers_card_number: 3,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 1 }] },
inferred_check_answers_value: { "condition" => { "age3_known" => 1 }, "value" => "Not known" } }, self),
] ]
end end
end end

34
app/models/form/sales/pages/person2_age_joint_purchase.rb

@ -0,0 +1,34 @@
class Form::Sales::Pages::Person2AgeJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_2_age_joint_purchase"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "details_known_2" => 1, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person2AgeKnown.new("age4_known", { check_answers_card_number: 4,
conditional_for: {
"age4" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age4_known" => 0,
},
{
"age4_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person2Age.new("age4", { check_answers_card_number: 4,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 2 }] },
inferred_check_answers_value: { "condition" => { "age4_known" => 1 }, "value" => "Not known" } }, self),
]
end
end

8
app/models/form/sales/pages/person2_known.rb

@ -7,15 +7,15 @@ class Form::Sales::Pages::Person2Known < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "hholdcount" => 2 }, { "hholdcount" => 2, "jointpur" => 2 },
{ "hholdcount" => 3 }, { "hholdcount" => 3, "jointpur" => 2 },
{ "hholdcount" => 4 }, { "hholdcount" => 4, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person2Known.new(nil, nil, self), Form::Sales::Questions::Person2Known.new(nil, { check_answers_card_number: 3 }, self),
] ]
end end
end end

21
app/models/form/sales/pages/person2_known_joint_purchase.rb

@ -0,0 +1,21 @@
class Form::Sales::Pages::Person2KnownJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_2_known_joint_purchase"
@header_partial = "person_2_known_page"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "hholdcount" => 2, "jointpur" => 1 },
{ "hholdcount" => 3, "jointpur" => 1 },
{ "hholdcount" => 4, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person2Known.new(nil, { check_answers_card_number: 4 }, self),
]
end
end

21
app/models/form/sales/pages/person3_age.rb

@ -6,14 +6,29 @@ class Form::Sales::Pages::Person3Age < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "details_known_3" => 1 }, { "details_known_3" => 1, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person3AgeKnown.new(nil, nil, self), Form::Sales::Questions::Person3AgeKnown.new("age4_known", { check_answers_card_number: 4,
Form::Sales::Questions::Person3Age.new(nil, nil, self), conditional_for: {
"age4" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age4_known" => 0,
},
{
"age4_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person3Age.new("age4", { check_answers_card_number: 4,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 1 }] },
inferred_check_answers_value: { "condition" => { "age4_known" => 1 }, "value" => "Not known" } }, self),
] ]
end end
end end

34
app/models/form/sales/pages/person3_age_joint_purchase.rb

@ -0,0 +1,34 @@
class Form::Sales::Pages::Person3AgeJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_3_age_joint_purchase"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "details_known_3" => 1, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person3AgeKnown.new("age5_known", { check_answers_card_number: 5,
conditional_for: {
"age5" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age5_known" => 0,
},
{
"age5_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person3Age.new("age5", { check_answers_card_number: 5,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 2 }] },
inferred_check_answers_value: { "condition" => { "age5_known" => 1 }, "value" => "Not known" } }, self),
]
end
end

6
app/models/form/sales/pages/person3_known.rb

@ -7,14 +7,14 @@ class Form::Sales::Pages::Person3Known < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "hholdcount" => 3 }, { "hholdcount" => 3, "jointpur" => 2 },
{ "hholdcount" => 4 }, { "hholdcount" => 4, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person3Known.new(nil, nil, self), Form::Sales::Questions::Person3Known.new(nil, { check_answers_card_number: 4 }, self),
] ]
end end
end end

20
app/models/form/sales/pages/person3_known_joint_purchase.rb

@ -0,0 +1,20 @@
class Form::Sales::Pages::Person3KnownJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_3_known_joint_purchase"
@header_partial = "person_3_known_page"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "hholdcount" => 3, "jointpur" => 1 },
{ "hholdcount" => 4, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person3Known.new(nil, { check_answers_card_number: 5 }, self),
]
end
end

21
app/models/form/sales/pages/person4_age.rb

@ -6,14 +6,29 @@ class Form::Sales::Pages::Person4Age < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "details_known_4" => 1 }, { "details_known_4" => 1, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person4AgeKnown.new(nil, nil, self), Form::Sales::Questions::Person4AgeKnown.new("age5_known", { check_answers_card_number: 5,
Form::Sales::Questions::Person4Age.new(nil, nil, self), conditional_for: {
"age5" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age5_known" => 0,
},
{
"age5_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person4Age.new("age5", { check_answers_card_number: 5,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 1 }] },
inferred_check_answers_value: { "condition" => { "age5_known" => 1 }, "value" => "Not known" } }, self),
] ]
end end
end end

34
app/models/form/sales/pages/person4_age_joint_purchase.rb

@ -0,0 +1,34 @@
class Form::Sales::Pages::Person4AgeJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_4_age_joint_purchase"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "details_known_4" => 1, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person4AgeKnown.new("age6_known", { check_answers_card_number: 6,
conditional_for: {
"age6" => [0],
},
hidden_in_check_answers: {
"depends_on" => [
{
"age6_known" => 0,
},
{
"age6_known" => 1,
},
],
} }, self),
Form::Sales::Questions::Person4Age.new("age6", { check_answers_card_number: 6,
hidden_in_check_answers: { "depends_on" => [{ "jointpur" => 2 }] },
inferred_check_answers_value: { "condition" => { "age6_known" => 1 }, "value" => "Not known" } }, self),
]
end
end

4
app/models/form/sales/pages/person4_known.rb

@ -7,13 +7,13 @@ class Form::Sales::Pages::Person4Known < ::Form::Page
@description = "" @description = ""
@subsection = subsection @subsection = subsection
@depends_on = [ @depends_on = [
{ "hholdcount" => 4 }, { "hholdcount" => 4, "jointpur" => 2 },
] ]
end end
def questions def questions
@questions ||= [ @questions ||= [
Form::Sales::Questions::Person4Known.new(nil, nil, self), Form::Sales::Questions::Person4Known.new(nil, { check_answers_card_number: 5 }, self),
] ]
end end
end end

19
app/models/form/sales/pages/person4_known_joint_purchase.rb

@ -0,0 +1,19 @@
class Form::Sales::Pages::Person4KnownJointPurchase < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "person_4_known_joint_purchase"
@header_partial = "person_4_known_page"
@header = ""
@description = ""
@subsection = subsection
@depends_on = [
{ "hholdcount" => 4, "jointpur" => 1 },
]
end
def questions
@questions ||= [
Form::Sales::Questions::Person4Known.new(nil, { check_answers_card_number: 6 }, self),
]
end
end

9
app/models/form/sales/questions/person1_age.rb

@ -1,16 +1,13 @@
class Form::Sales::Questions::Person1Age < ::Form::Question class Form::Sales::Questions::Person1Age < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age3"
@check_answer_label = "Person 1’s age" @check_answer_label = "Person 1’s age"
@header = "Age" @header = "Age"
@type = "numeric" @type = "numeric"
@page = page @page = page
@width = 3 @width = 3
@inferred_check_answers_value = { @inferred_check_answers_value = hsh[:inferred_check_answers_value]
"condition" => { "age3_known" => 1 }, @hidden_in_check_answers = hsh[:hidden_in_check_answers]
"value" => "Not known", @check_answers_card_number = hsh[:check_answers_card_number]
}
@check_answers_card_number = 3
end end
end end

18
app/models/form/sales/questions/person1_age_known.rb

@ -1,27 +1,15 @@
class Form::Sales::Questions::Person1AgeKnown < ::Form::Question class Form::Sales::Questions::Person1AgeKnown < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age3_known"
@check_answer_label = "Person 1’s age known?" @check_answer_label = "Person 1’s age known?"
@header = "Do you know person 1’s age?" @header = "Do you know person 1’s age?"
@type = "radio" @type = "radio"
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@page = page @page = page
@hint_text = "" @hint_text = ""
@conditional_for = { @conditional_for = hsh[:conditional_for]
"age3" => [0], @hidden_in_check_answers = hsh[:hidden_in_check_answers]
} @check_answers_card_number = hsh[:check_answers_card_number]
@hidden_in_check_answers = {
"depends_on" => [
{
"age3_known" => 0,
},
{
"age3_known" => 1,
},
],
}
@check_answers_card_number = 3
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

3
app/models/form/sales/questions/person1_gender_identity.rb

@ -1,13 +1,12 @@
class Form::Sales::Questions::Person1GenderIdentity < ::Form::Question class Form::Sales::Questions::Person1GenderIdentity < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "sex2"
@check_answer_label = "Person 1’s gender identity" @check_answer_label = "Person 1’s gender identity"
@header = "Which of these best describes Person 1’s gender identity?" @header = "Which of these best describes Person 1’s gender identity?"
@type = "radio" @type = "radio"
@page = page @page = page
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@check_answers_card_number = 3 @check_answers_card_number = hsh[:check_answers_card_number]
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

19
app/models/form/sales/questions/person1_gender_identity_joint_purchase.rb

@ -1,19 +0,0 @@
class Form::Sales::Questions::Person1GenderIdentityJointPurchase < ::Form::Question
def initialize(id, hsh, page)
super
@id = "sex3"
@check_answer_label = "Person 1’s gender identity"
@header = "Which of these best describes Person 1’s gender identity?"
@type = "radio"
@page = page
@answer_options = ANSWER_OPTIONS
@check_answers_card_number = 3
end
ANSWER_OPTIONS = {
"F" => { "value" => "Female" },
"M" => { "value" => "Male" },
"X" => { "value" => "Non-binary" },
"R" => { "value" => "Buyer prefers not to say" },
}.freeze
end

2
app/models/form/sales/questions/person1_known.rb

@ -15,7 +15,7 @@ class Form::Sales::Questions::Person1Known < ::Form::Question
}, },
], ],
} }
@check_answers_card_number = 3 @check_answers_card_number = hsh[:check_answers_card_number]
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

20
app/models/form/sales/questions/person1_relationship_to_buyer1_joint_purchase.rb

@ -1,20 +0,0 @@
class Form::Sales::Questions::Person1RelationshipToBuyer1JointPurchase < ::Form::Question
def initialize(id, hsh, page)
super
@check_answer_label = "Person 1's relationship to buyer 1"
@header = "What is person 1's relationship to buyer 1?"
@type = "radio"
@hint_text = ""
@page = page
@answer_options = ANSWER_OPTIONS
@check_answers_card_number = hsh[:check_answers_card_number]
end
ANSWER_OPTIONS = {
"P" => { "value" => "Partner" },
"C" => { "value" => "Child", "hint" => "Must be eligible for child benefit, aged under 16 or under 20 if still in full-time education." },
"X" => { "value" => "Other" },
"R" => { "value" => "Buyer prefers not to say" },
}.freeze
end

9
app/models/form/sales/questions/person2_age.rb

@ -1,16 +1,13 @@
class Form::Sales::Questions::Person2Age < ::Form::Question class Form::Sales::Questions::Person2Age < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age4"
@check_answer_label = "Person 2’s age" @check_answer_label = "Person 2’s age"
@header = "Age" @header = "Age"
@type = "numeric" @type = "numeric"
@page = page @page = page
@width = 3 @width = 3
@inferred_check_answers_value = { @inferred_check_answers_value = hsh[:inferred_check_answers_value]
"condition" => { "age4_known" => 1 }, @hidden_in_check_answers = hsh[:hidden_in_check_answers]
"value" => "Not known", @check_answers_card_number = hsh[:check_answers_card_number]
}
@check_answers_card_number = 4
end end
end end

18
app/models/form/sales/questions/person2_age_known.rb

@ -1,27 +1,15 @@
class Form::Sales::Questions::Person2AgeKnown < ::Form::Question class Form::Sales::Questions::Person2AgeKnown < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age4_known"
@check_answer_label = "Person 2’s age known?" @check_answer_label = "Person 2’s age known?"
@header = "Do you know person 2’s age?" @header = "Do you know person 2’s age?"
@type = "radio" @type = "radio"
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@page = page @page = page
@hint_text = "" @hint_text = ""
@conditional_for = { @conditional_for = hsh[:conditional_for]
"age4" => [0], @hidden_in_check_answers = hsh[:hidden_in_check_answers]
} @check_answers_card_number = hsh[:check_answers_card_number]
@hidden_in_check_answers = {
"depends_on" => [
{
"age4_known" => 0,
},
{
"age4_known" => 1,
},
],
}
@check_answers_card_number = 4
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

2
app/models/form/sales/questions/person2_known.rb

@ -15,7 +15,7 @@ class Form::Sales::Questions::Person2Known < ::Form::Question
}, },
], ],
} }
@check_answers_card_number = 4 @check_answers_card_number = hsh[:check_answers_card_number]
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

9
app/models/form/sales/questions/person3_age.rb

@ -1,16 +1,13 @@
class Form::Sales::Questions::Person3Age < ::Form::Question class Form::Sales::Questions::Person3Age < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age5"
@check_answer_label = "Person 3’s age" @check_answer_label = "Person 3’s age"
@header = "Age" @header = "Age"
@type = "numeric" @type = "numeric"
@page = page @page = page
@width = 3 @width = 3
@inferred_check_answers_value = { @inferred_check_answers_value = hsh[:inferred_check_answers_value]
"condition" => { "age5_known" => 1 }, @hidden_in_check_answers = hsh[:hidden_in_check_answers]
"value" => "Not known", @check_answers_card_number = hsh[:check_answers_card_number]
}
@check_answers_card_number = 5
end end
end end

18
app/models/form/sales/questions/person3_age_known.rb

@ -1,27 +1,15 @@
class Form::Sales::Questions::Person3AgeKnown < ::Form::Question class Form::Sales::Questions::Person3AgeKnown < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age5_known"
@check_answer_label = "Person 3’s age known?" @check_answer_label = "Person 3’s age known?"
@header = "Do you know person 3’s age?" @header = "Do you know person 3’s age?"
@type = "radio" @type = "radio"
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@page = page @page = page
@hint_text = "" @hint_text = ""
@conditional_for = { @conditional_for = hsh[:conditional_for]
"age5" => [0], @hidden_in_check_answers = hsh[:hidden_in_check_answers]
} @check_answers_card_number = hsh[:check_answers_card_number]
@hidden_in_check_answers = {
"depends_on" => [
{
"age5_known" => 0,
},
{
"age5_known" => 1,
},
],
}
@check_answers_card_number = 5
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

2
app/models/form/sales/questions/person3_known.rb

@ -15,7 +15,7 @@ class Form::Sales::Questions::Person3Known < ::Form::Question
}, },
], ],
} }
@check_answers_card_number = 5 @check_answers_card_number = hsh[:check_answers_card_number]
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

9
app/models/form/sales/questions/person4_age.rb

@ -1,16 +1,13 @@
class Form::Sales::Questions::Person4Age < ::Form::Question class Form::Sales::Questions::Person4Age < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age6"
@check_answer_label = "Person 4’s age" @check_answer_label = "Person 4’s age"
@header = "Age" @header = "Age"
@type = "numeric" @type = "numeric"
@page = page @page = page
@width = 3 @width = 3
@inferred_check_answers_value = { @inferred_check_answers_value = hsh[:inferred_check_answers_value]
"condition" => { "age6_known" => 1 }, @hidden_in_check_answers = hsh[:hidden_in_check_answers]
"value" => "Not known", @check_answers_card_number = hsh[:check_answers_card_number]
}
@check_answers_card_number = 6
end end
end end

18
app/models/form/sales/questions/person4_age_known.rb

@ -1,27 +1,15 @@
class Form::Sales::Questions::Person4AgeKnown < ::Form::Question class Form::Sales::Questions::Person4AgeKnown < ::Form::Question
def initialize(id, hsh, page) def initialize(id, hsh, page)
super super
@id = "age6_known"
@check_answer_label = "Person 4’s age known?" @check_answer_label = "Person 4’s age known?"
@header = "Do you know person 4’s age?" @header = "Do you know person 4’s age?"
@type = "radio" @type = "radio"
@answer_options = ANSWER_OPTIONS @answer_options = ANSWER_OPTIONS
@page = page @page = page
@hint_text = "" @hint_text = ""
@conditional_for = { @conditional_for = hsh[:conditional_for]
"age6" => [0], @hidden_in_check_answers = hsh[:hidden_in_check_answers]
} @check_answers_card_number = hsh[:check_answers_card_number]
@hidden_in_check_answers = {
"depends_on" => [
{
"age6_known" => 0,
},
{
"age6_known" => 1,
},
],
}
@check_answers_card_number = 6
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

2
app/models/form/sales/questions/person4_known.rb

@ -15,7 +15,7 @@ class Form::Sales::Questions::Person4Known < ::Form::Question
}, },
], ],
} }
@check_answers_card_number = 6 @check_answers_card_number = hsh[:check_answers_card_number]
end end
ANSWER_OPTIONS = { ANSWER_OPTIONS = {

8
app/models/form/sales/subsections/household_characteristics.rb

@ -29,17 +29,25 @@ class Form::Sales::Subsections::HouseholdCharacteristics < ::Form::Subsection
Form::Sales::Pages::Buyer2LiveInProperty.new(nil, nil, self), Form::Sales::Pages::Buyer2LiveInProperty.new(nil, nil, self),
Form::Sales::Pages::NumberOfOthersInProperty.new(nil, nil, self), Form::Sales::Pages::NumberOfOthersInProperty.new(nil, nil, self),
Form::Sales::Pages::Person1Known.new(nil, nil, self), Form::Sales::Pages::Person1Known.new(nil, nil, self),
Form::Sales::Pages::Person1KnownJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person1RelationshipToBuyer1.new(nil, nil, self), Form::Sales::Pages::Person1RelationshipToBuyer1.new(nil, nil, self),
Form::Sales::Pages::Person1RelationshipToBuyer1JointPurchase.new(nil, nil, self), Form::Sales::Pages::Person1RelationshipToBuyer1JointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person1Age.new(nil, nil, self), Form::Sales::Pages::Person1Age.new(nil, nil, self),
Form::Sales::Pages::Person1AgeJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person1GenderIdentity.new(nil, nil, self), Form::Sales::Pages::Person1GenderIdentity.new(nil, nil, self),
Form::Sales::Pages::Person1GenderIdentityJointPurchase.new(nil, nil, self), Form::Sales::Pages::Person1GenderIdentityJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person2Known.new(nil, nil, self), Form::Sales::Pages::Person2Known.new(nil, nil, self),
Form::Sales::Pages::Person2KnownJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person2Age.new(nil, nil, self), Form::Sales::Pages::Person2Age.new(nil, nil, self),
Form::Sales::Pages::Person2AgeJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person3Known.new(nil, nil, self), Form::Sales::Pages::Person3Known.new(nil, nil, self),
Form::Sales::Pages::Person3KnownJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person3Age.new(nil, nil, self), Form::Sales::Pages::Person3Age.new(nil, nil, self),
Form::Sales::Pages::Person3AgeJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person4Known.new(nil, nil, self), Form::Sales::Pages::Person4Known.new(nil, nil, self),
Form::Sales::Pages::Person4KnownJointPurchase.new(nil, nil, self),
Form::Sales::Pages::Person4Age.new(nil, nil, self), Form::Sales::Pages::Person4Age.new(nil, nil, self),
Form::Sales::Pages::Person4AgeJointPurchase.new(nil, nil, self),
] ]
end end
end end

Loading…
Cancel
Save