Browse Source

Display change buttons in CYA if the collection is still open for editing

pull/1716/head
Kat 2 years ago
parent
commit
fca18cfc84
  1. 2
      app/models/form.rb
  2. 6
      app/models/log.rb
  3. 2
      app/views/form/_check_answers_summary_list.html.erb
  4. 18
      spec/requests/lettings_logs_controller_spec.rb

2
app/models/form.rb

@ -46,7 +46,7 @@ class Form
@submission_deadline = Time.zone.local(2023, 6, 9) @submission_deadline = Time.zone.local(2023, 6, 9)
@unresolved_log_redirect_page_id = form_definition["unresolved_log_redirect_page_id"] @unresolved_log_redirect_page_id = form_definition["unresolved_log_redirect_page_id"]
end end
@edit_end_date = @new_logs_end_date @edit_end_date = @new_logs_end_date + 2.months # it depends on the year and QA activities, but it would always be later than new logs end date
@name = "#{start_date.year}_#{new_logs_end_date.year}_#{type}" @name = "#{start_date.year}_#{new_logs_end_date.year}_#{type}"
end end

6
app/models/log.rb

@ -97,6 +97,12 @@ class Log < ApplicationRecord
form.new_logs_end_date > Time.zone.today form.new_logs_end_date > Time.zone.today
end end
def collection_period_open_for_editing?
return false if older_than_previous_collection_year?
form.edit_end_date > Time.zone.today
end
def blank_invalid_non_setup_fields! def blank_invalid_non_setup_fields!
setup_ids = form.setup_sections.flat_map(&:subsections).flat_map(&:questions).map(&:id) setup_ids = form.setup_sections.flat_map(&:subsections).flat_map(&:questions).map(&:id)

2
app/views/form/_check_answers_summary_list.html.erb

@ -25,7 +25,7 @@
<% end %> <% end %>
<% end %> <% end %>
<% if @log.collection_period_open? %> <% if @log.collection_period_open_for_editing? %>
<% row.action( <% row.action(
text: question.action_text(@log), text: question.action_text(@log),
href: action_href(@log, question.page.id, referrer), href: action_href(@log, question.page.id, referrer),

18
spec/requests/lettings_logs_controller_spec.rb

@ -1095,6 +1095,24 @@ RSpec.describe LettingsLogsController, type: :request do
expect(page).not_to have_link("Answer") expect(page).not_to have_link("Answer")
end end
context "when the edit end date is in the future" do
before do
Timecop.freeze(2022, 7, 5)
end
after do
Timecop.return
end
it "allows you to change the answers for previous collection year logs" do
get "/lettings-logs/#{completed_lettings_log.id}/setup/check-answers", headers: { "Accept" => "text/html" }, params: {}
expect(page).to have_link("Change")
get "/lettings-logs/#{completed_lettings_log.id}/income-and-benefits/check-answers", headers: { "Accept" => "text/html" }, params: {}
expect(page).to have_link("Change")
end
end
it "does not let the user navigate to questions for previous collection year logs" do it "does not let the user navigate to questions for previous collection year logs" do
get "/lettings-logs/#{completed_lettings_log.id}/needs-type", headers: { "Accept" => "text/html" }, params: {} get "/lettings-logs/#{completed_lettings_log.id}/needs-type", headers: { "Accept" => "text/html" }, params: {}
expect(response).to redirect_to("/lettings-logs/#{completed_lettings_log.id}") expect(response).to redirect_to("/lettings-logs/#{completed_lettings_log.id}")

Loading…
Cancel
Save