|
65 | 65 |
|
66 | 66 | <% hint = "Pre-screening checks must be completed for vaccination to go ahead" %> |
67 | 67 |
|
68 | | - <%= f.govuk_radio_buttons_fieldset :administered, legend: nil do %> |
69 | | - <% if common_delivery_sites_options.length > 1 %> |
70 | | - <%= f.govuk_radio_button :administered, true, label: { text: "Yes" }, hint: { text: hint }, link_errors: true do %> |
71 | | - <%= f.govuk_collection_radio_buttons :delivery_site, |
72 | | - common_delivery_sites_options, |
73 | | - :value, |
74 | | - :label, |
75 | | - legend: { |
76 | | - text: "Where will the injection be given?", |
77 | | - size: "s", |
78 | | - } %> |
| 68 | + <%= f.govuk_radio_buttons_fieldset :vaccine_method, legend: nil do %> |
| 69 | + <% vaccine_methods.each_with_index do |vaccine_method, index| %> |
| 70 | + <% if index == 1 %> |
| 71 | + <%= f.govuk_radio_divider %> |
| 72 | + <% end %> |
| 73 | + |
| 74 | + <% label = if index.zero? |
| 75 | + "Yes" |
| 76 | + else |
| 77 | + "No — but they can have the #{Vaccine.human_enum_name(:method_prefix, vaccine_method)} #{programme.name_in_sentence} instead" |
| 78 | + end %> |
| 79 | + |
| 80 | + <% options = common_delivery_site_options(vaccine_method) %> |
| 81 | + |
| 82 | + <% if options.length > 1 %> |
| 83 | + <%= f.govuk_radio_button :vaccine_method, vaccine_method, label: { text: label }, hint: { text: hint }, link_errors: index.zero? do %> |
| 84 | + <%= f.govuk_collection_radio_buttons :delivery_site, |
| 85 | + options, |
| 86 | + :value, |
| 87 | + :label, |
| 88 | + legend: { |
| 89 | + text: "Where will the #{Vaccine.human_enum_name(:method, vaccine_method).downcase} be given?", |
| 90 | + size: "s", |
| 91 | + } %> |
| 92 | + <% end %> |
| 93 | + <% else %> |
| 94 | + <%= f.govuk_radio_button :vaccine_method, vaccine_method, label: { text: label }, hint: { text: hint }, link_errors: index.zero? do %> |
| 95 | + <%= f.hidden_field :delivery_site, value: options.first.value %> |
| 96 | + <% end %> |
| 97 | + <% end %> |
| 98 | + |
| 99 | + <% if index.zero? %> |
| 100 | + <%= f.govuk_radio_button :vaccine_method, "none", label: { text: "No" } %> |
79 | 101 | <% end %> |
80 | | - <% else %> |
81 | | - <%= f.govuk_radio_button :administered, true, label: { text: "Yes" }, hint: { text: hint }, link_errors: true %> |
82 | | - <%= f.hidden_field :delivery_site, value: common_delivery_sites_options.first.value %> |
83 | 102 | <% end %> |
84 | | - <%= f.govuk_radio_button :administered, false, label: { text: "No" } %> |
85 | 103 | <% end %> |
86 | 104 |
|
87 | | - <%= f.hidden_field :delivery_method, value: delivery_method %> |
88 | 105 | <%= f.hidden_field :dose_sequence, value: dose_sequence %> |
89 | 106 | <%= f.hidden_field :programme_id, value: programme.id %> |
90 | 107 |
|
|
0 commit comments