diff options
Diffstat (limited to 'app/services/issuable/clone/base_service.rb')
-rw-r--r-- | app/services/issuable/clone/base_service.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/services/issuable/clone/base_service.rb b/app/services/issuable/clone/base_service.rb index b2f9c083b5b..3c2bc527b12 100644 --- a/app/services/issuable/clone/base_service.rb +++ b/app/services/issuable/clone/base_service.rb @@ -3,12 +3,13 @@ module Issuable module Clone class BaseService < IssuableBaseService - attr_reader :original_entity, :new_entity + attr_reader :original_entity, :new_entity, :target_project alias_method :old_project, :project - def execute(original_entity, new_project = nil) + def execute(original_entity, target_project = nil) @original_entity = original_entity + @target_project = target_project # Using transaction because of a high resources footprint # on rewriting notes (unfolding references) @@ -77,6 +78,12 @@ module Issuable new_entity.project.group end end + + def relative_position + return if original_entity.project.root_ancestor.id != target_project.root_ancestor.id + + original_entity.relative_position + end end end end |