From 4f78477387d8d48370e1db965db1734f95aa269a Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Wed, 25 Sep 2024 14:02:00 +0100 Subject: [PATCH] View bulk uploads from specific organisation pages --- app/controllers/lettings_logs_controller.rb | 8 +++++++- app/controllers/sales_logs_controller.rb | 8 +++++++- app/controllers/sessions_controller.rb | 9 +++++++-- app/views/bulk_upload_shared/_upload_filters.html.erb | 2 +- app/views/logs/_create_for_org_actions.html.erb | 10 ++++++---- 5 files changed, 28 insertions(+), 9 deletions(-) diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index 19b884bf6..7d7b418a8 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -116,13 +116,19 @@ class LettingsLogsController < LogsController end def bulk_uploads + @filter_type = "lettings_bulk_uploads" + + if params[:organisation_id].present? && params[:clear_old_filters].present? + redirect_to clear_filters_path(filter_type: @filter_type, organisation_id: params[:organisation_id]) and return + end + uploads = BulkUpload.lettings.where("created_at >= ?", 30.days.ago) unpaginated_filtered_uploads = filter_manager.filtered_uploads(uploads, search_term, filter_manager.session_filters) + @pagy, @bulk_uploads = pagy(unpaginated_filtered_uploads) @search_term = search_term @total_count = uploads.size @searched = search_term.presence - @filter_type = "lettings_bulk_uploads" render "bulk_upload_shared/uploads" end diff --git a/app/controllers/sales_logs_controller.rb b/app/controllers/sales_logs_controller.rb index 0b24cd193..dde13fb0a 100644 --- a/app/controllers/sales_logs_controller.rb +++ b/app/controllers/sales_logs_controller.rb @@ -86,13 +86,19 @@ class SalesLogsController < LogsController end def bulk_uploads + @filter_type = "sales_bulk_uploads" + + if params[:organisation_id].present? && params[:clear_old_filters].present? + redirect_to clear_filters_path(filter_type: @filter_type, organisation_id: params[:organisation_id]) and return + end + uploads = BulkUpload.sales.where("created_at >= ?", 30.days.ago) unpaginated_filtered_uploads = filter_manager.filtered_uploads(uploads, search_term, session_filters) @pagy, @bulk_uploads = pagy(unpaginated_filtered_uploads) @search_term = search_term + @total_count = uploads.size @searched = search_term.presence - @filter_type = "sales_bulk_uploads" render "bulk_upload_shared/uploads" end diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index dce33f77c..70a538900 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -5,9 +5,14 @@ class SessionsController < ApplicationController if path_params[:organisation_id].present? redirect_to send("#{params[:filter_type]}_organisation_path", id: path_params[:organisation_id], scheme_id: path_params[:scheme_id], search: path_params[:search]) - elsif path_params[:bulk_uploads] + elsif params[:filter_type].include?("bulk_uploads") bulk_upload_type = params[:filter_type].split("_").first - redirect_to send("bulk_uploads_#{bulk_upload_type}_logs_path", search: path_params[:search]) + uploading_organisation = params[:organisation_id].presence + if uploading_organisation.present? + redirect_to send("bulk_uploads_#{bulk_upload_type}_logs_path", search: path_params[:search], uploading_organisation:) + else + redirect_to send("bulk_uploads_#{bulk_upload_type}_logs_path", search: path_params[:search]) + end else redirect_to send("#{params[:filter_type]}_path", scheme_id: path_params[:scheme_id], search: path_params[:search]) end diff --git a/app/views/bulk_upload_shared/_upload_filters.html.erb b/app/views/bulk_upload_shared/_upload_filters.html.erb index af54ec827..850b3563e 100644 --- a/app/views/bulk_upload_shared/_upload_filters.html.erb +++ b/app/views/bulk_upload_shared/_upload_filters.html.erb @@ -12,7 +12,7 @@ <%= filters_applied_text(@filter_type) %>

- <%= reset_filters_link(@filter_type, { search: request.params["search"], bulk_uploads: true }.compact) %> + <%= reset_filters_link(@filter_type, { search: request.params["search"] }.compact) %>

diff --git a/app/views/logs/_create_for_org_actions.html.erb b/app/views/logs/_create_for_org_actions.html.erb index 0564e678a..9b5935cb0 100644 --- a/app/views/logs/_create_for_org_actions.html.erb +++ b/app/views/logs/_create_for_org_actions.html.erb @@ -1,12 +1,14 @@
<% if @organisation.data_protection_confirmed? %> <% if current_page?(controller: 'organisations', action: 'lettings_logs') %> - <%= govuk_button_to "Create a new lettings log for this organisation", lettings_logs_path(lettings_log: { owning_organisation_id: @organisation.id }, method: :post), class: "govuk-!-margin-right-6" %> - <%= govuk_button_link_to "Upload lettings logs in bulk", bulk_upload_lettings_log_path(id: "start", organisation_id: @organisation.id), secondary: true %> + <%= govuk_button_to "Create a new lettings log", lettings_logs_path(lettings_log: { owning_organisation_id: @organisation.id }, method: :post), class: "govuk-!-margin-right-6" %> + <%= govuk_button_link_to "Upload lettings logs in bulk", bulk_upload_lettings_log_path(id: "start", organisation_id: @organisation.id), secondary: true, class: "govuk-!-margin-right-6" %> + <%= govuk_button_link_to "View lettings bulk uploads", bulk_uploads_lettings_logs_path(organisation_id: @organisation.id, clear_old_filters: true), secondary: true %> <% end %> <% if current_page?(controller: 'organisations', action: 'sales_logs') %> - <%= govuk_button_to "Create a new sales log for this organisation", sales_logs_path(sales_log: { owning_organisation_id: @organisation.id }, method: :post), class: "govuk-!-margin-right-6" %> - <%= govuk_button_link_to "Upload sales logs in bulk", bulk_upload_sales_log_path(id: "start", organisation_id: @organisation.id), secondary: true %> + <%= govuk_button_to "Create a new sales log", sales_logs_path(sales_log: { owning_organisation_id: @organisation.id }, method: :post), class: "govuk-!-margin-right-6" %> + <%= govuk_button_link_to "Upload sales logs in bulk", bulk_upload_sales_log_path(id: "start", organisation_id: @organisation.id), secondary: true, class: "govuk-!-margin-right-6" %> + <%= govuk_button_link_to "View sales bulk uploads", bulk_uploads_sales_logs_path(organisation_id: @organisation.id, clear_old_filters: true), secondary: true %> <% end %> <% end %>