Browse Source

add unresolved_log_redirect_page_id to form + typo and route

pull/1035/head
Kat 4 years ago
parent
commit
09f0091f17
  1. 2
      app/controllers/lettings_logs_controller.rb
  2. 3
      app/models/form.rb
  3. 2
      app/views/logs/index.html.erb
  4. 4
      app/views/logs/update_logs.html.erb
  5. 1
      config/forms/2021_2022.json
  6. 1
      config/forms/2022_2023.json
  7. 2
      config/routes.rb
  8. 1
      spec/fixtures/forms/2021_2022.json
  9. 1
      spec/fixtures/forms/2022_2023.json
  10. 10
      spec/models/form_spec.rb

2
app/controllers/lettings_logs_controller.rb

@ -54,7 +54,7 @@ class LettingsLogsController < LogsController
@log = current_user.lettings_logs.find_by(id: params[:id]) @log = current_user.lettings_logs.find_by(id: params[:id])
if @log if @log
if @log.unresolved 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 else
render("logs/edit", locals: { current_user: }) render("logs/edit", locals: { current_user: })
end end

3
app/models/form.rb

@ -1,7 +1,7 @@
class Form class Form
attr_reader :form_definition, :sections, :subsections, :pages, :questions, attr_reader :form_definition, :sections, :subsections, :pages, :questions,
:start_date, :end_date, :type, :name, :setup_definition, :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") def initialize(form_path, start_year = "", sections_in_form = [], type = "lettings")
if type == "sales" if type == "sales"
@ -33,6 +33,7 @@ class Form
@questions = pages.flat_map(&:questions) @questions = pages.flat_map(&:questions)
@start_date = Time.iso8601(form_definition["start_date"]) @start_date = Time.iso8601(form_definition["start_date"])
@end_date = Time.iso8601(form_definition["end_date"]) @end_date = Time.iso8601(form_definition["end_date"])
@unresolved_log_redirect_page_id = form_definition["unresolved_log_redirect_page_id"]
end end
@name = "#{start_date.year}_#{end_date.year}_#{type}" @name = "#{start_date.year}_#{end_date.year}_#{type}"
end end

2
app/views/logs/index.html.erb

@ -12,7 +12,7 @@
) do |notification_banner| %> ) do |notification_banner| %>
<% notification_banner.heading(text: "A scheme has changed and it has affected #{@unresolved_count} #{@unresolved_count > 1 ? 'logs' : 'log'}") %> <% notification_banner.heading(text: "A scheme has changed and it has affected #{@unresolved_count} #{@unresolved_count > 1 ? 'logs' : 'log'}") %>
<div class="govuk-notification-banner__heading"> <div class="govuk-notification-banner__heading">
<a class="govuk-notification-banner__link" href="/lettings-logs/update-logs">Update logs</a> <a class="govuk-notification-banner__link" href=<%= update_logs_lettings_logs_path %>>Update logs</a>
</div> </div>
<% end %> <% end %>
<% end %> <% end %>

4
app/views/logs/update_logs.html.erb

@ -35,7 +35,7 @@
scope: "row", scope: "row",
class: "govuk-!-text-align-right", class: "govuk-!-text-align-right",
}) do %> }) 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 %> <% end %>
<% end %> <% end %>
@ -43,4 +43,4 @@
<% end %> <% end %>
<% end %> <% end %>
<%== render partial: "pagy/nav", locals: { pagy: @pagy, item_name: "logs" } %> <%= render partial: "pagy/nav", locals: { pagy: @pagy, item_name: "logs" } %>

1
config/forms/2021_2022.json

@ -2,6 +2,7 @@
"form_type": "lettings", "form_type": "lettings",
"start_date": "2021-04-01T00:00:00.000+01:00", "start_date": "2021-04-01T00:00:00.000+01:00",
"end_date": "2022-09-05T00:00:00.000+01:00", "end_date": "2022-09-05T00:00:00.000+01:00",
"unresolved_log_redirect_page_id": "tenancy_start_date",
"sections": { "sections": {
"tenancy_and_property": { "tenancy_and_property": {
"label": "Property and tenancy information", "label": "Property and tenancy information",

1
config/forms/2022_2023.json

@ -2,6 +2,7 @@
"form_type": "lettings", "form_type": "lettings",
"start_date": "2022-04-01T00:00:00.000+01:00", "start_date": "2022-04-01T00:00:00.000+01:00",
"end_date": "2023-07-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": { "sections": {
"tenancy_and_property": { "tenancy_and_property": {
"label": "Property and tenancy information", "label": "Property and tenancy information",

2
config/routes.rb

@ -111,7 +111,7 @@ Rails.application.routes.draw do
get "csv-download", to: "lettings_logs#download_csv" get "csv-download", to: "lettings_logs#download_csv"
post "email-csv", to: "lettings_logs#email_csv" post "email-csv", to: "lettings_logs#email_csv"
get "csv-confirmation", to: "lettings_logs#csv_confirmation" get "csv-confirmation", to: "lettings_logs#csv_confirmation"
resources :bulk_upload_lettings_logs, path: "bulk-upload-logs" do resources :bulk_upload_lettings_logs, path: "bulk-upload-logs" do
collection do collection do
get :start get :start

1
spec/fixtures/forms/2021_2022.json vendored

@ -2,6 +2,7 @@
"form_type": "lettings", "form_type": "lettings",
"start_date": "2021-04-01T00:00:00.000+01:00", "start_date": "2021-04-01T00:00:00.000+01:00",
"end_date": "2022-07-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": { "sections": {
"household": { "household": {
"label": "About the household", "label": "About the household",

1
spec/fixtures/forms/2022_2023.json vendored

@ -2,6 +2,7 @@
"form_type": "lettings", "form_type": "lettings",
"start_date": "2022-04-01T00:00:00.000+01:00", "start_date": "2022-04-01T00:00:00.000+01:00",
"end_date": "2023-07-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": { "sections": {
"household": { "household": {
"label": "About the household", "label": "About the household",

10
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.questions.first.id).to eq("owning_organisation_id")
expect(form.start_date).to eq(Time.zone.parse("2022-04-01")) 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.end_date).to eq(Time.zone.parse("2023-07-01"))
expect(form.unresolved_log_redirect_page_id).to eq(nil)
end end
it "can correctly define sections in the sales form" do it "can correctly define sections in the sales form" do
@ -269,4 +270,13 @@ RSpec.describe Form, type: :model do
end end
end 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 end

Loading…
Cancel
Save