Browse Source

Do not create duplicate logs

pull/1612/head
Kat 3 years ago
parent
commit
dbe35cf7f9
  1. 5
      app/services/bulk_upload/sales/validator.rb
  2. 12
      app/services/bulk_upload/sales/year2022/row_parser.rb

5
app/services/bulk_upload/sales/validator.rb

@ -37,6 +37,7 @@ class BulkUpload::Sales::Validator
def create_logs?
return false if any_setup_errors?
return false if row_parsers.any?(&:block_log_creation?)
return false if any_logs_already_exist? && FeatureToggle.bulk_upload_duplicate_log_check_enabled?
row_parsers.all? { |row_parser| row_parser.log.valid? }
end
@ -49,6 +50,10 @@ class BulkUpload::Sales::Validator
.positive?
end
def any_logs_already_exist?
row_parsers.any?(&:log_already_exists?)
end
private
def csv_parser

12
app/services/bulk_upload/sales/year2022/row_parser.rb

@ -338,6 +338,12 @@ class BulkUpload::Sales::Year2022::RowParser
block_log_creation
end
def log_already_exists?
@log_already_exists ||= SalesLog
.where(status: %w[not_started in_progress completed])
.exists?(duplicate_check_fields.index_with { |field| log.public_send(field) })
end
private
def buyer_not_interviewed?
@ -857,12 +863,6 @@ private
]
end
def log_already_exists?
@log_already_exists ||= SalesLog
.where(status: %w[not_started in_progress completed])
.exists?(duplicate_check_fields.index_with { |field| log.public_send(field) })
end
def validate_owning_org_data_given
if field_92.blank?
block_log_creation!

Loading…
Cancel
Save