From c4a7d5640eb452ccbb381c954417813a83d554cf Mon Sep 17 00:00:00 2001 From: Arthur Campbell Date: Wed, 8 Feb 2023 16:32:56 +0000 Subject: [PATCH] update interface of relevant methods EmailCsvJob, LettingsLog.to_csv and LettingsLogCsvService consume codes_only flag --- app/jobs/email_csv_job.rb | 4 ++-- app/models/lettings_log.rb | 4 ++-- app/services/csv/lettings_log_csv_service.rb | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/jobs/email_csv_job.rb b/app/jobs/email_csv_job.rb index c7009645f..235cb072c 100644 --- a/app/jobs/email_csv_job.rb +++ b/app/jobs/email_csv_job.rb @@ -5,14 +5,14 @@ class EmailCsvJob < ApplicationJob EXPIRATION_TIME = 3.hours.to_i - def perform(user, search_term = nil, filters = {}, all_orgs = false, organisation = nil) # rubocop:disable Style/OptionalBooleanParameter - sidekiq can't serialise named params + def perform(user, search_term = nil, filters = {}, all_orgs = false, organisation = nil, is_codes_only_export = false) # rubocop:disable Style/OptionalBooleanParameter - sidekiq can't serialise named params unfiltered_logs = organisation.present? && user.support? ? LettingsLog.where(owning_organisation_id: organisation.id) : user.lettings_logs filtered_logs = FilterService.filter_logs(unfiltered_logs, search_term, filters, all_orgs, user) filename = organisation.present? ? "logs-#{organisation.name}-#{Time.zone.now}.csv" : "logs-#{Time.zone.now}.csv" storage_service = Storage::S3Service.new(Configuration::EnvConfigurationService.new, ENV["CSV_DOWNLOAD_PAAS_INSTANCE"]) - storage_service.write_file(filename, BYTE_ORDER_MARK + filtered_logs.to_csv(user)) + storage_service.write_file(filename, BYTE_ORDER_MARK + filtered_logs.to_csv(user, is_codes_only_export)) url = storage_service.get_presigned_url(filename, EXPIRATION_TIME) diff --git a/app/models/lettings_log.rb b/app/models/lettings_log.rb index 108cb1be1..472b82ed1 100644 --- a/app/models/lettings_log.rb +++ b/app/models/lettings_log.rb @@ -444,8 +444,8 @@ class LettingsLog < Log location&.id end - def self.to_csv(user = nil) - Csv::LettingsLogCsvService.new(user).to_csv + def self.to_csv(user = nil, is_codes_only_export:) + Csv::LettingsLogCsvService.new(user).to_csv(is_codes_only_export:) end def beds_for_la_rent_range diff --git a/app/services/csv/lettings_log_csv_service.rb b/app/services/csv/lettings_log_csv_service.rb index c8a2cf41e..a24cb3706 100644 --- a/app/services/csv/lettings_log_csv_service.rb +++ b/app/services/csv/lettings_log_csv_service.rb @@ -7,13 +7,13 @@ module Csv set_csv_attributes end - def to_csv + def to_csv(is_codes_only_export:) CSV.generate(headers: true) do |csv| csv << @attributes LettingsLog.all.find_each do |record| csv << @attributes.map do |att| - label_from_value(record, att) + label_from_value(record, att, is_codes_only_export:) end end end