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. 1
      spec/fixtures/forms/2021_2022.json
  8. 1
      spec/fixtures/forms/2022_2023.json
  9. 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])
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

3
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

2
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'}") %>
<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>
<% end %>
<% end %>

4
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" } %>

1
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",

1
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",

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

@ -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",

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

@ -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",

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.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

Loading…
Cancel
Save