diff --git a/app/controllers/collection_resources_controller.rb b/app/controllers/collection_resources_controller.rb index 54d9ccad7..f031d8999 100644 --- a/app/controllers/collection_resources_controller.rb +++ b/app/controllers/collection_resources_controller.rb @@ -100,12 +100,12 @@ class CollectionResourcesController < ApplicationController return render_not_found unless resource_for_year_can_be_updated?(@collection_resource.year) @collection_resource.file = resource_params[:file] - @collection_resource.short_display_name = resource_params[:short_display_name] - @collection_resource.download_filename = @collection_resource.file&.original_filename - @collection_resource.display_name = "#{@collection_resource.log_type} #{@collection_resource.short_display_name} (#{text_year_range_format(@collection_resource.year)})" @collection_resource.validate_attached_file return render "collection_resources/edit" if @collection_resource.errors.any? + @collection_resource.short_display_name = resource_params[:short_display_name] + @collection_resource.download_filename = @collection_resource.file&.original_filename + @collection_resource.display_name = "#{@collection_resource.log_type} #{@collection_resource.short_display_name} (#{text_year_range_format(@collection_resource.year)})" if @collection_resource.save begin CollectionResourcesService.new.upload_collection_resource(@collection_resource.download_filename, @collection_resource.file) diff --git a/app/controllers/start_controller.rb b/app/controllers/start_controller.rb index 5bd49df3f..b65da4d44 100644 --- a/app/controllers/start_controller.rb +++ b/app/controllers/start_controller.rb @@ -4,6 +4,8 @@ class StartController < ApplicationController def index @mandatory_lettings_collection_resources_per_year = MandatoryCollectionResourcesService.generate_resources("lettings", displayed_collection_resource_years) @mandatory_sales_collection_resources_per_year = MandatoryCollectionResourcesService.generate_resources("sales", displayed_collection_resource_years) + @additional_lettings_collection_resources_per_year = CollectionResource.where(log_type: "lettings", mandatory: false, year: displayed_collection_resource_years).group_by(&:year) + @additional_sales_collection_resources_per_year = CollectionResource.where(log_type: "sales", mandatory: false, year: displayed_collection_resource_years).group_by(&:year) if current_user @homepage_presenter = HomepagePresenter.new(current_user) render "home/index" diff --git a/app/views/layouts/_collection_resources.html.erb b/app/views/layouts/_collection_resources.html.erb index 935f1806c..07648e5c0 100644 --- a/app/views/layouts/_collection_resources.html.erb +++ b/app/views/layouts/_collection_resources.html.erb @@ -12,12 +12,12 @@ <%= govuk_tabs(title: "Collection resources", classes: %w[app-tab__small-headers]) do |c| %> <% @mandatory_lettings_collection_resources_per_year.each do |year, resources| %> <% c.with_tab(label: "Lettings #{year_range_format(year)}") do %> - <%= render DocumentListComponent.new(items: document_list_component_items(resources), label: "Lettings #{text_year_range_format(year)}") %> + <%= render DocumentListComponent.new(items: document_list_component_items(resources.concat(@additional_lettings_collection_resources_per_year[year] || [])), label: "Lettings #{text_year_range_format(year)}") %> <% end %> <% end %> <% @mandatory_sales_collection_resources_per_year.each do |year, resources| %> <% c.with_tab(label: "Sales #{year_range_format(year)}") do %> - <%= render DocumentListComponent.new(items: document_list_component_items(resources), label: "Sales #{text_year_range_format(year)}") %> + <%= render DocumentListComponent.new(items: document_list_component_items(resources.concat(@additional_sales_collection_resources_per_year[year] || [])), label: "Sales #{text_year_range_format(year)}") %> <% end %> <% end %> <% end %> diff --git a/spec/requests/start_controller_spec.rb b/spec/requests/start_controller_spec.rb index db884d09f..b3846809c 100644 --- a/spec/requests/start_controller_spec.rb +++ b/spec/requests/start_controller_spec.rb @@ -324,6 +324,7 @@ RSpec.describe StartController, type: :request do context "and 2023 collection window is open for editing" do before do + create(:collection_resource, :additional, year: 2023, log_type: "sales", display_name: "sales additional resource (2023 to 2024)") allow(Time).to receive(:now).and_return(Time.zone.local(2024, 4, 1)) end @@ -337,6 +338,7 @@ RSpec.describe StartController, type: :request do expect(page).to have_content("Sales 23/24") expect(page).to have_content("Sales 2024 to 2025") expect(page).to have_content("Sales 2023 to 2024") + expect(page).to have_content("Download the sales additional resource (2023 to 2024)") end end