From 4ec5b418cb49700fbc8f8de4c9ff7cae04ff50c2 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Fri, 6 May 2022 09:51:44 +0200 Subject: [PATCH] fix create_new_revision --- app/models/procedure.rb | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/models/procedure.rb b/app/models/procedure.rb index 89908b334..3579de77b 100644 --- a/app/models/procedure.rb +++ b/app/models/procedure.rb @@ -713,9 +713,20 @@ class Procedure < ApplicationRecord end def create_new_revision - draft_revision + new_draft = draft_revision .deep_clone(include: [:revision_types_de_champ]) .tap(&:save!) + + children = new_draft.revision_types_de_champ.where.not(parent_id: nil) + children.each do |child| + old_parent = draft_revision.revision_types_de_champ.find(child.parent_id) + new_parent = new_draft.revision_types_de_champ.find_by(type_de_champ_id: old_parent.type_de_champ_id) + child.update!(parent_id: new_parent.id) + end + + new_draft.revision_types_de_champ.reload + + new_draft end def average_dossier_weight