diff --git a/app/helpers/toggle_active_location_helper.rb b/app/helpers/toggle_active_location_helper.rb new file mode 100644 index 000000000..8d76cb6de --- /dev/null +++ b/app/helpers/toggle_active_location_helper.rb @@ -0,0 +1,17 @@ +module ToggleActiveLocationHelper + def toggle_location_form_path(action, scheme_id, location_id) + if action == "deactivate" + scheme_location_new_deactivation_path(scheme_id:, location_id:) + else + scheme_location_new_reactivation_path(scheme_id:, location_id:) + end + end + + def date_type_question(action) + action == "deactivate" ? :deactivation_date_type : :reactivation_date_type + end + + def date_question(action) + action == "deactivate" ? :deactivation_date : :reactivation_date + end +end \ No newline at end of file diff --git a/app/views/locations/toggle_active.html.erb b/app/views/locations/toggle_active.html.erb index 321ee8665..3df9c511c 100644 --- a/app/views/locations/toggle_active.html.erb +++ b/app/views/locations/toggle_active.html.erb @@ -7,29 +7,26 @@ href: scheme_location_path(@location.scheme, @location), ) %> <% end %> -<% form_path = action == "deactivate" ? scheme_location_new_deactivation_path(scheme_id: @location.scheme.id, location_id: @location.id) : scheme_location_new_reactivation_path(scheme_id: @location.scheme.id, location_id: @location.id) %> -<%= form_with model: @location, url: form_path, method: "patch", local: true do |f| %> +<%= form_with model: @location, url: toggle_location_form_path(action, @location.scheme.id, @location.id), method: "patch", local: true do |f| %>
<% collection_start_date = FormHandler.instance.current_collection_start_date %> - <% date_question = action == "deactivate" ? :deactivation_date : :reactivation_date %> - <% date_type_question = action == "deactivate" ? :deactivation_date_type : :reactivation_date_type %> <%= f.govuk_error_summary %> - <%= f.govuk_radio_buttons_fieldset date_type_question, + <%= f.govuk_radio_buttons_fieldset date_type_question(action), legend: { text: I18n.t("questions.location.deactivate.apply_from") }, caption: { text: title }, hint: { text: I18n.t("hints.location.deactivate", date: collection_start_date.to_formatted_s(:govuk_date)) } do %> <%= govuk_warning_text text: I18n.t("warnings.location.#{action}.existing_logs") %> - <%= f.govuk_radio_button date_type_question, + <%= f.govuk_radio_button date_type_question(action), "default", label: { text: "From the start of the current collection period (#{collection_start_date.to_formatted_s(:govuk_date)})" } %> - <%= f.govuk_radio_button date_type_question, + <%= f.govuk_radio_button date_type_question(action), "other", label: { text: "For tenancies starting after a certain date" }, **basic_conditional_html_attributes({ "deactivation_date" => %w[other] }, "location") do %> - <%= f.govuk_date_field date_question, + <%= f.govuk_date_field date_question(action), legend: { text: "Date", size: "m" }, hint: { text: "For example, 27 3 2022" }, width: 20 %>