aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorcedricnjanga2017-09-04 09:34:30 +0200
committercedricnjanga2017-09-04 09:34:47 +0200
commitf846b41c7e1570f3047e71fc74cbe1b2f9e13fc6 (patch)
treeec8870b17baea02fd163516f98ed8e23a97df7aa /app/models
parentadee10292855612808a8e6d1c764a148f68eb69f (diff)
downloadchouette-core-f846b41c7e1570f3047e71fc74cbe1b2f9e13fc6.tar.bz2
add some change for the Referential#new_from to only have a line collection regarding the functional scope of the current organozation
Diffstat (limited to 'app/models')
-rw-r--r--app/models/referential.rb5
-rw-r--r--app/models/referential_metadata.rb3
2 files changed, 4 insertions, 4 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb
index cb2c7b23b..ecfc69c4a 100644
--- a/app/models/referential.rb
+++ b/app/models/referential.rb
@@ -130,7 +130,7 @@ class Referential < ActiveRecord::Base
self
end
- def self.new_from(from)
+ def self.new_from(from, functional_scope)
Referential.new(
name: I18n.t("activerecord.copy", :name => from.name),
slug: "#{from.slug}_clone",
@@ -139,9 +139,8 @@ class Referential < ActiveRecord::Base
bounds: from.bounds,
line_referential: from.line_referential,
stop_area_referential: from.stop_area_referential,
- workbench: from.workbench,
created_from: from,
- metadatas: from.metadatas.map { |m| ReferentialMetadata.new_from(m) }
+ metadatas: from.metadatas.map { |m| ReferentialMetadata.new_from(m, functional_scope) }
)
end
diff --git a/app/models/referential_metadata.rb b/app/models/referential_metadata.rb
index b774072c7..839a937f4 100644
--- a/app/models/referential_metadata.rb
+++ b/app/models/referential_metadata.rb
@@ -155,8 +155,9 @@ class ReferentialMetadata < ActiveRecord::Base
end
private :clear_periods
- def self.new_from from
+ def self.new_from(from, functional_scope)
from.dup.tap do |metadata|
+ metadata.line_ids = from.referential.lines.where(id: metadata.line_ids, objectid: functional_scope).collect(&:id)
metadata.referential_id = nil
end
end