diff --git a/app/controllers/schemes_controller.rb b/app/controllers/schemes_controller.rb index 186efb921..c22f147dd 100644 --- a/app/controllers/schemes_controller.rb +++ b/app/controllers/schemes_controller.rb @@ -22,14 +22,14 @@ class SchemesController < ApplicationController end def deactivate - if params[:confirm] && params[:deactivation_date].present? - if @scheme.update!(deactivation_date: params[:deactivation_date]) + if params[:confirm] && deactivation_date.present? + if @scheme.update!(deactivation_date:) # update the logs end redirect_to scheme_details_path(@scheme) return - elsif params[:deactivation_date].present? - render "toggle_active_confirm", locals: { action: "deactivate", deactivation_date: params[:deactivation_date] } + elsif deactivation_date.present? + render "toggle_active_confirm", locals: { action: "deactivate", deactivation_date: } return end render "toggle_active", locals: { action: "deactivate" } @@ -141,6 +141,14 @@ class SchemesController < ApplicationController render "schemes/support_services_provider" end + def deactivation_date + if params[:deactivation_date] == "other" + Time.utc(params["deactivation_date(1i)"].to_i, params["deactivation_date(2i)"].to_i, params["deactivation_date(3i)"].to_i) + else + params[:deactivation_date] + end + end + private def validation_errors(scheme_params) diff --git a/app/views/schemes/toggle_active.html.erb b/app/views/schemes/toggle_active.html.erb index eb3c11b3c..6b5316eb2 100644 --- a/app/views/schemes/toggle_active.html.erb +++ b/app/views/schemes/toggle_active.html.erb @@ -1,20 +1,38 @@ +<% content_for :before_content do %> + <%= govuk_back_link( + text: "Back", + href: :back, + ) %> +<% end %> + <%= form_with url: scheme_deactivate_path(@scheme), method: "get", local: true do |f| %> - <% content_for :before_content do %> - <%= govuk_back_link(href: :back) %> - <% end %> +

<%= @scheme.service_name %> <%= "When should this change apply?" %>

- <%= govuk_warning_text text: "It will not be possible to add logs with this scheme if their tenancy start date is on or after the date you enter. Any existing logs may be affected." %> -
- If the date is before 5 April 2022, select 'From the start of the current collection period' because the previous period has now closed. +
+
+ <%#= f.govuk_error_summary %> + <%= f.govuk_radio_buttons_fieldset :deactivation_date, + legend: nil, + hint: { text: "If the date is before 5 April 2022, select ‘From the start of the current collection period’ because the previous period has now closed."} do %> + <%= govuk_warning_text text: "It will not be possible to add logs with this scheme if their tenancy start date is on or after the date you enter. Any existing logs may be affected." %> + <%= f.govuk_radio_button :deactivation_date, + Time.utc(2022, 4, 1), + label: { text: "From the start of the current collection period (5 April 2022)" } %> + + <%= f.govuk_radio_button :deactivation_date, + "other", + label: { text: "For tenancies starting after a certain date" }, + **basic_conditional_html_attributes({"deactivation_date" => ["other"]}, "scheme") do %> + <%= f.govuk_date_field :deactivation_date, + legend: { text: "Date", size: "m" }, + hint: { text: "For example, 27 3 2008" }, + width: 20 %> + <% end %> + <% end %> + <%= f.govuk_submit "Continue" %> +
- <% selection = [OpenStruct.new(date: Time.zone.now, name: "From the start of the current collection period (5 April 2022)"), OpenStruct.new(date: Time.zone.now, name: "For tenancies starting after a certain date")] %> - <%= f.govuk_collection_radio_buttons :deactivation_date, - selection, - :date, - :name, - legend: nil %> - <%= f.govuk_submit "Continue" %> <% end %> diff --git a/app/views/schemes/toggle_active_confirm.html.erb b/app/views/schemes/toggle_active_confirm.html.erb index 271a4df48..32de2a58d 100644 --- a/app/views/schemes/toggle_active_confirm.html.erb +++ b/app/views/schemes/toggle_active_confirm.html.erb @@ -8,7 +8,7 @@ <%= govuk_warning_text text: "Your data providers will need to review these logs and answer a few questions again. We’ll email each log creator with a list of logs that need updating." %> <%= f.hidden_field :confirm %> - <%= f.hidden_field :deactivation_date, :value => params[:deactivation_date] %> + <%= f.hidden_field :deactivation_date, :value => deactivation_date %>
<%= f.govuk_submit "Deactivate this scheme" %> <%= govuk_button_link_to "Cancel", scheme_details_path, html: { method: :get }, secondary: true %>