From 754a13d92c96e7e68eb4d51af93cba51f109028a Mon Sep 17 00:00:00 2001 From: samyou-softwire Date: Wed, 15 Apr 2026 15:29:19 +0100 Subject: [PATCH] CLDC-4331: Add a row to database on all download paths --- app/controllers/lettings_logs_controller.rb | 1 + app/controllers/organisations_controller.rb | 4 ++++ app/controllers/sales_logs_controller.rb | 1 + app/controllers/schemes_controller.rb | 1 + app/controllers/users_controller.rb | 1 + 5 files changed, 8 insertions(+) diff --git a/app/controllers/lettings_logs_controller.rb b/app/controllers/lettings_logs_controller.rb index cd2a6ca5a..6f8efe28e 100644 --- a/app/controllers/lettings_logs_controller.rb +++ b/app/controllers/lettings_logs_controller.rb @@ -96,6 +96,7 @@ class LettingsLogsController < LogsController end def email_csv + DownloadRecord.build_from_user(download_type: :lettings_log, download_filters: session_filters.to_s, user: current_user).save! all_orgs = params["organisation_select"] == "all" EmailCsvJob.perform_later(current_user, search_term, session_filters, all_orgs, nil, codes_only_export?, "lettings", session_filters["years"].first.to_i) redirect_to csv_confirmation_lettings_logs_path diff --git a/app/controllers/organisations_controller.rb b/app/controllers/organisations_controller.rb index d4e4f34fc..6803e7825 100644 --- a/app/controllers/organisations_controller.rb +++ b/app/controllers/organisations_controller.rb @@ -40,6 +40,7 @@ class OrganisationsController < ApplicationController end def email_schemes_csv + DownloadRecord.build_from_user(download_type: :scheme, download_filters: session_filters.to_s, user: current_user).save! SchemeEmailCsvJob.perform_later(current_user, search_term, session_filters, false, @organisation, params[:download_type]) redirect_to schemes_csv_confirmation_organisation_path end @@ -72,6 +73,7 @@ class OrganisationsController < ApplicationController end end format.csv do + DownloadRecord.build_from_user(download_type: :user, download_filters: session_filters.to_s, user: current_user).save! send_data byte_order_mark + unpaginated_filtered_users.to_csv, filename: "users-#{@organisation.name}-#{Time.zone.now}.csv" end end @@ -205,6 +207,7 @@ class OrganisationsController < ApplicationController end def email_lettings_csv + DownloadRecord.build_from_user(download_type: :lettings_log, download_filters: session_filters.to_s, user: current_user).save! EmailCsvJob.perform_later(current_user, search_term, session_filters, false, @organisation, codes_only_export?, "lettings", session_filters["years"].first.to_i) redirect_to lettings_logs_csv_confirmation_organisation_path end @@ -243,6 +246,7 @@ class OrganisationsController < ApplicationController end def email_sales_csv + DownloadRecord.build_from_user(download_type: :sales_log, download_filters: session_filters.to_s, user: current_user).save! EmailCsvJob.perform_later(current_user, search_term, session_filters, false, @organisation, codes_only_export?, "sales", session_filters["years"].first.to_i) redirect_to sales_logs_csv_confirmation_organisation_path end diff --git a/app/controllers/sales_logs_controller.rb b/app/controllers/sales_logs_controller.rb index 3c389ccf1..4e53e4f13 100644 --- a/app/controllers/sales_logs_controller.rb +++ b/app/controllers/sales_logs_controller.rb @@ -70,6 +70,7 @@ class SalesLogsController < LogsController end def email_csv + DownloadRecord.build_from_user(download_type: :sales_log, download_filters: session_filters.to_s, user: current_user).save! all_orgs = params["organisation_select"] == "all" EmailCsvJob.perform_later(current_user, search_term, session_filters, all_orgs, nil, codes_only_export?, "sales", session_filters["years"].first.to_i) redirect_to csv_confirmation_sales_logs_path diff --git a/app/controllers/schemes_controller.rb b/app/controllers/schemes_controller.rb index 4b018ee34..4e6b75182 100644 --- a/app/controllers/schemes_controller.rb +++ b/app/controllers/schemes_controller.rb @@ -236,6 +236,7 @@ class SchemesController < ApplicationController end def email_csv + DownloadRecord.build_from_user(download_type: :scheme, download_filters: session_filters.to_s, user: current_user).save! all_orgs = params["organisation_select"] == "all" SchemeEmailCsvJob.perform_later(current_user, search_term, session_filters, all_orgs, nil, params[:download_type]) redirect_to csv_confirmation_schemes_path diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 57036cabe..d8982dca9 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -24,6 +24,7 @@ class UsersController < ApplicationController format.html format.csv do if current_user.support? + DownloadRecord.build_from_user(download_type: :user, download_filters: session_filters.to_s, user: current_user).save! send_data byte_order_mark + filtered_users.to_csv, filename: "users-#{Time.zone.now}.csv" else head :unauthorized