fix(rebase): rebase a dossier when its repetition had been removed on newer version does not crash
This commit is contained in:
parent
0e54ca314d
commit
4a26b61d1b
2 changed files with 4 additions and 1 deletions
|
@ -71,7 +71,9 @@ module DossierRebaseConcern
|
||||||
.each { add_new_champs_for_revision(_1) }
|
.each { add_new_champs_for_revision(_1) }
|
||||||
|
|
||||||
# remove champ
|
# remove champ
|
||||||
changes_by_op[:remove].each { champs_by_stable_id[_1.stable_id].destroy_all }
|
children_champ, root_champ = changes_by_op[:remove].partition(&:child?)
|
||||||
|
children_champ.each { champs_by_stable_id[_1.stable_id].delete_all }
|
||||||
|
root_champ.each { champs_by_stable_id[_1.stable_id].delete_all }
|
||||||
|
|
||||||
# update champ
|
# update champ
|
||||||
changes_by_op[:update].each { apply(_1, champs_by_stable_id[_1.stable_id]) }
|
changes_by_op[:update].each { apply(_1, champs_by_stable_id[_1.stable_id]) }
|
||||||
|
|
|
@ -7,6 +7,7 @@ class ProcedureRevisionChange
|
||||||
def label = @type_de_champ.libelle
|
def label = @type_de_champ.libelle
|
||||||
def stable_id = @type_de_champ.stable_id
|
def stable_id = @type_de_champ.stable_id
|
||||||
def private? = @type_de_champ.private?
|
def private? = @type_de_champ.private?
|
||||||
|
def child? = @type_de_champ.child?
|
||||||
|
|
||||||
def to_h = { op:, stable_id:, label:, private: private? }
|
def to_h = { op:, stable_id:, label:, private: private? }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue