diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index 99bc627be..366ca267e 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -54,7 +54,7 @@ class LettingsLogsController < LogsController @log = current_user.lettings_logs.find_by(id: params[:id]) if @log if @log.unresolved - redirect_to(send("lettings_log_#{@log.form.get_question('startdate', @log).page.id}_path", @log)) + redirect_to(send("lettings_log_#{@log.form.unresolved_log_redirect_page_id}_path", @log)) else render("logs/edit", locals: { current_user: }) end diff --git a/app/models/form.rb b/app/models/form.rb index 1f76e2ac0..1e28cbe51 100644 --- a/app/models/form.rb +++ b/app/models/form.rb @@ -1,7 +1,7 @@ class Form attr_reader :form_definition, :sections, :subsections, :pages, :questions, :start_date, :end_date, :type, :name, :setup_definition, - :setup_sections, :form_sections + :setup_sections, :form_sections, :unresolved_log_redirect_page_id def initialize(form_path, start_year = "", sections_in_form = [], type = "lettings") if type == "sales" @@ -33,6 +33,7 @@ class Form @questions = pages.flat_map(&:questions) @start_date = Time.iso8601(form_definition["start_date"]) @end_date = Time.iso8601(form_definition["end_date"]) + @unresolved_log_redirect_page_id = form_definition["unresolved_log_redirect_page_id"] end @name = "#{start_date.year}_#{end_date.year}_#{type}" end diff --git a/app/views/logs/index.html.erb b/app/views/logs/index.html.erb index 4f955e471..9a27cdbca 100644 --- a/app/views/logs/index.html.erb +++ b/app/views/logs/index.html.erb @@ -12,7 +12,7 @@ ) do |notification_banner| %> <% notification_banner.heading(text: "A scheme has changed and it has affected #{@unresolved_count} #{@unresolved_count > 1 ? 'logs' : 'log'}") %>
- Update logs + >Update logs
<% end %> <% end %> diff --git a/app/views/logs/update_logs.html.erb b/app/views/logs/update_logs.html.erb index cd8447277..4546d1041 100644 --- a/app/views/logs/update_logs.html.erb +++ b/app/views/logs/update_logs.html.erb @@ -35,7 +35,7 @@ scope: "row", class: "govuk-!-text-align-right", }) do %> - <%= govuk_link_to("Update now", send("lettings_log_#{log.form.get_question('startdate', log).page.id}_path", log)) %> + <%= govuk_link_to("Update now", send("lettings_log_#{log.form.unresolved_log_redirect_page_id}_path", log)) %> <% end %> <% end %> <% end %> @@ -43,4 +43,4 @@ <% end %> <% end %> -<%== render partial: "pagy/nav", locals: { pagy: @pagy, item_name: "logs" } %> +<%= render partial: "pagy/nav", locals: { pagy: @pagy, item_name: "logs" } %> diff --git a/config/forms/2021_2022.json b/config/forms/2021_2022.json index 19d8c291d..ca2fa6e2e 100644 --- a/config/forms/2021_2022.json +++ b/config/forms/2021_2022.json @@ -2,6 +2,7 @@ "form_type": "lettings", "start_date": "2021-04-01T00:00:00.000+01:00", "end_date": "2022-09-05T00:00:00.000+01:00", + "unresolved_log_redirect_page_id": "tenancy_start_date", "sections": { "tenancy_and_property": { "label": "Property and tenancy information", diff --git a/config/forms/2022_2023.json b/config/forms/2022_2023.json index fe1511153..51e1123ee 100644 --- a/config/forms/2022_2023.json +++ b/config/forms/2022_2023.json @@ -2,6 +2,7 @@ "form_type": "lettings", "start_date": "2022-04-01T00:00:00.000+01:00", "end_date": "2023-07-01T00:00:00.000+01:00", + "unresolved_log_redirect_page_id": "tenancy_start_date", "sections": { "tenancy_and_property": { "label": "Property and tenancy information", diff --git a/config/routes.rb b/config/routes.rb index 99c2f239e..94a585821 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -111,7 +111,7 @@ Rails.application.routes.draw do get "csv-download", to: "lettings_logs#download_csv" post "email-csv", to: "lettings_logs#email_csv" get "csv-confirmation", to: "lettings_logs#csv_confirmation" - + resources :bulk_upload_lettings_logs, path: "bulk-upload-logs" do collection do get :start diff --git a/spec/fixtures/forms/2021_2022.json b/spec/fixtures/forms/2021_2022.json index 8e73f645b..7b169e80a 100644 --- a/spec/fixtures/forms/2021_2022.json +++ b/spec/fixtures/forms/2021_2022.json @@ -2,6 +2,7 @@ "form_type": "lettings", "start_date": "2021-04-01T00:00:00.000+01:00", "end_date": "2022-07-01T00:00:00.000+01:00", + "unresolved_log_redirect_page_id": "tenancy_start_date", "sections": { "household": { "label": "About the household", diff --git a/spec/fixtures/forms/2022_2023.json b/spec/fixtures/forms/2022_2023.json index 5f5671b6f..f618012f2 100644 --- a/spec/fixtures/forms/2022_2023.json +++ b/spec/fixtures/forms/2022_2023.json @@ -2,6 +2,7 @@ "form_type": "lettings", "start_date": "2022-04-01T00:00:00.000+01:00", "end_date": "2023-07-01T00:00:00.000+01:00", + "unresolved_log_redirect_page_id": "tenancy_start_date", "sections": { "household": { "label": "About the household", diff --git a/spec/models/form_spec.rb b/spec/models/form_spec.rb index f8bcddcca..a9a0c9b40 100644 --- a/spec/models/form_spec.rb +++ b/spec/models/form_spec.rb @@ -224,6 +224,7 @@ RSpec.describe Form, type: :model do expect(form.questions.first.id).to eq("owning_organisation_id") expect(form.start_date).to eq(Time.zone.parse("2022-04-01")) expect(form.end_date).to eq(Time.zone.parse("2023-07-01")) + expect(form.unresolved_log_redirect_page_id).to eq(nil) end it "can correctly define sections in the sales form" do @@ -269,4 +270,13 @@ RSpec.describe Form, type: :model do end end end + + describe "when creating a lettings log", :aggregate_failures do + it "creates a valid lettings form" do + form = described_class.new("spec/fixtures/forms/2021_2022.json") + expect(form.type).to eq("lettings") + expect(form.name).to eq("2021_2022_lettings") + expect(form.unresolved_log_redirect_page_id).to eq("tenancy_start_date") + end + end end