From f846b41c7e1570f3047e71fc74cbe1b2f9e13fc6 Mon Sep 17 00:00:00 2001 From: cedricnjanga Date: Mon, 4 Sep 2017 09:34:30 +0200 Subject: add some change for the Referential#new_from to only have a line collection regarding the functional scope of the current organozation --- app/models/referential.rb | 5 ++--- app/models/referential_metadata.rb | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'app/models') 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 -- cgit v1.2.3