aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/iev_interfaces/task.rb5
-rw-r--r--app/models/export/base.rb2
-rw-r--r--app/models/export/workbench.rb7
-rw-r--r--app/models/import/base.rb3
-rw-r--r--app/models/workbench.rb1
5 files changed, 13 insertions, 5 deletions
diff --git a/app/models/concerns/iev_interfaces/task.rb b/app/models/concerns/iev_interfaces/task.rb
index b142850fb..c84c588b6 100644
--- a/app/models/concerns/iev_interfaces/task.rb
+++ b/app/models/concerns/iev_interfaces/task.rb
@@ -7,7 +7,6 @@ module IevInterfaces::Task
belongs_to :referential
mount_uploader :file, ImportUploader
- validates :file, presence: true
has_many :children, foreign_key: :parent_id, class_name: self.name, dependent: :destroy
@@ -17,8 +16,8 @@ module IevInterfaces::Task
validates :name, presence: true
validates_presence_of :workbench, :creator
- has_many :messages, class_name: messages_class_name, dependent: :destroy, foreign_key: :import_id
- has_many :resources, class_name: resources_class_name, dependent: :destroy, foreign_key: :import_id
+ has_many :messages, class_name: messages_class_name, dependent: :destroy, foreign_key: "#{messages_class_name.split('::').first.downcase}_id"
+ has_many :resources, class_name: resources_class_name, dependent: :destroy, foreign_key: "#{resources_class_name.split('::').first.downcase}_id"
scope :where_started_at_in, ->(period_range) do
where('started_at BETWEEN :begin AND :end', begin: period_range.begin, end: period_range.end)
diff --git a/app/models/export/base.rb b/app/models/export/base.rb
index d809055db..844c66d82 100644
--- a/app/models/export/base.rb
+++ b/app/models/export/base.rb
@@ -12,7 +12,7 @@ class Export::Base < ActiveRecord::Base
include IevInterfaces::Task
def self.model_name
- ActiveModel::Name.new Export::Base, Export::Base, "Export::Base"
+ ActiveModel::Name.new Export::Base, Export::Base, "Export"
end
private
diff --git a/app/models/export/workbench.rb b/app/models/export/workbench.rb
new file mode 100644
index 000000000..a4b14cf55
--- /dev/null
+++ b/app/models/export/workbench.rb
@@ -0,0 +1,7 @@
+class Export::Workbench < Export::Base
+ after_commit :launch_worker, :on => :create
+
+ def launch_worker
+ # WorkbenchImportWorker.perform_async(id)
+ end
+end
diff --git a/app/models/import/base.rb b/app/models/import/base.rb
index e2ae129be..73d06d968 100644
--- a/app/models/import/base.rb
+++ b/app/models/import/base.rb
@@ -1,5 +1,6 @@
class Import::Base < ActiveRecord::Base
self.table_name = "imports"
+ validates :file, presence: true
def self.messages_class_name
"Import::Message"
@@ -12,7 +13,7 @@ class Import::Base < ActiveRecord::Base
include IevInterfaces::Task
def self.model_name
- ActiveModel::Name.new Import::Base, Import::Base, "Import::Base"
+ ActiveModel::Name.new Import::Base, Import::Base, "Import"
end
def child_change
diff --git a/app/models/workbench.rb b/app/models/workbench.rb
index 44415f102..b5f4673bb 100644
--- a/app/models/workbench.rb
+++ b/app/models/workbench.rb
@@ -14,6 +14,7 @@ class Workbench < ActiveRecord::Base
has_many :group_of_lines, through: :line_referential
has_many :stop_areas, through: :stop_area_referential
has_many :imports, class_name: Import::Base
+ has_many :exports, class_name: Export::Base
has_many :workbench_imports, class_name: Import::Workbench
has_many :compliance_check_sets
has_many :compliance_control_sets