diff options
Diffstat (limited to 'app/models/bulk_import.rb')
-rw-r--r-- | app/models/bulk_import.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/bulk_import.rb b/app/models/bulk_import.rb index 2565ad5f2b8..c2d7529f468 100644 --- a/app/models/bulk_import.rb +++ b/app/models/bulk_import.rb @@ -42,6 +42,12 @@ class BulkImport < ApplicationRecord event :fail_op do transition any => :failed end + + # rubocop:disable Style/SymbolProc + after_transition any => [:finished, :failed, :timeout] do |bulk_import| + bulk_import.update_has_failures + end + # rubocop:enable Style/SymbolProc end def source_version_info @@ -55,4 +61,11 @@ class BulkImport < ApplicationRecord def self.all_human_statuses state_machine.states.map(&:human_name) end + + def update_has_failures + return if has_failures + return unless entities.any?(&:has_failures) + + update!(has_failures: true) + end end |