diff --git a/app/models/log.rb b/app/models/log.rb index 4ee748eda..54596f733 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -102,6 +102,9 @@ class Log < ApplicationRecord next if setup_ids.include?(error.attribute.to_s) public_send("#{error.attribute}=", nil) + form.conditional_question_conditions.map { |c| c[:from] if c[:to] == error.attribute.to_s }.compact.each do |conditional_attribute| + public_send("#{conditional_attribute}=", nil) + end end end diff --git a/app/services/bulk_upload/lettings/validator.rb b/app/services/bulk_upload/lettings/validator.rb index 1a0e6ecf5..f115a7f38 100644 --- a/app/services/bulk_upload/lettings/validator.rb +++ b/app/services/bulk_upload/lettings/validator.rb @@ -44,6 +44,10 @@ class BulkUpload::Lettings::Validator return false if any_setup_errors? return false if row_parsers.any?(&:block_log_creation?) + row_parsers.each do |row_parser| + row_parser.log.blank_invalid_non_setup_fields! + end + row_parsers.all? { |row_parser| row_parser.log.valid? } end diff --git a/app/services/bulk_upload/processor.rb b/app/services/bulk_upload/processor.rb index 49d44261f..23b28c28e 100644 --- a/app/services/bulk_upload/processor.rb +++ b/app/services/bulk_upload/processor.rb @@ -14,14 +14,15 @@ class BulkUpload::Processor if validator.any_setup_errors? send_setup_errors_mail + # emulate rescue_validation_or_raise here + elsif validator.create_logs? create_logs + if created_logs_but_incompleted? send_how_fix_upload_mail - end - - if created_logs_and_all_completed? + elsif created_logs_and_all_completed? bulk_upload.unpend send_success_mail end