aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/import/base.rb
diff options
context:
space:
mode:
authorZog2018-03-07 08:38:38 +0100
committerZog2018-03-12 12:00:14 +0100
commit0b9269780989dbd69a9be9d63670aab12050cf60 (patch)
tree1c9d3c4c5c9a881b1ffb5402705941cf2d9318e0 /app/models/import/base.rb
parent565641838e020f992e58f05d94ab0097b74a27b2 (diff)
downloadchouette-core-0b9269780989dbd69a9be9d63670aab12050cf60.tar.bz2
Refs #6133; Exports naive implementation
Diffstat (limited to 'app/models/import/base.rb')
-rw-r--r--app/models/import/base.rb37
1 files changed, 2 insertions, 35 deletions
diff --git a/app/models/import/base.rb b/app/models/import/base.rb
index 0e1eae2c0..e2ae129be 100644
--- a/app/models/import/base.rb
+++ b/app/models/import/base.rb
@@ -11,51 +11,17 @@ class Import::Base < ActiveRecord::Base
include IevInterfaces::Task
- mount_uploader :file, ImportUploader
-
- has_many :children, foreign_key: :parent_id, class_name: "Import::Base", dependent: :destroy
-
- validates :file, presence: true
-
- before_create :initialize_fields
-
def self.model_name
ActiveModel::Name.new Import::Base, Import::Base, "Import::Base"
end
- def children_succeedeed
- children.with_status(:successful, :warning).count
- end
-
def child_change
return if self.class.finished_statuses.include?(status)
- update_status
+ super
update_referentials
end
- def update_status
- status =
- if children.where(status: self.class.failed_statuses).count > 0
- 'failed'
- elsif children.where(status: "warning").count > 0
- 'warning'
- elsif children.where(status: "successful").count == children.count
- 'successful'
- end
-
- attributes = {
- current_step: children.count,
- status: status
- }
-
- if self.class.finished_statuses.include?(status)
- attributes[:ended_at] = Time.now
- end
-
- update attributes
- end
-
def update_referentials
return unless self.class.finished_statuses.include?(status)
@@ -67,6 +33,7 @@ class Import::Base < ActiveRecord::Base
private
def initialize_fields
+ super
self.token_download = SecureRandom.urlsafe_base64
end