fix(sentry#6088812113): avoid crash when trying to export a repetition which is not in a dossier revision
This commit is contained in:
parent
266bba941a
commit
a88325e224
3 changed files with 6 additions and 1 deletions
|
@ -29,7 +29,7 @@ module ChampsValidateConcern
|
||||||
end
|
end
|
||||||
|
|
||||||
def in_dossier_revision?
|
def in_dossier_revision?
|
||||||
dossier.revision.types_de_champ.any? { _1.stable_id == stable_id } && is_type?(type_de_champ.type_champ)
|
dossier.revision.in_revision?(stable_id) && is_type?(type_de_champ.type_champ)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -109,6 +109,7 @@ module DossierChampsConcern
|
||||||
|
|
||||||
def repetition_row_ids(type_de_champ)
|
def repetition_row_ids(type_de_champ)
|
||||||
return [] if !type_de_champ.repetition?
|
return [] if !type_de_champ.repetition?
|
||||||
|
return [] if !revision.in_revision?(type_de_champ.stable_id)
|
||||||
|
|
||||||
stable_ids = revision.children_of(type_de_champ).map(&:stable_id)
|
stable_ids = revision.children_of(type_de_champ).map(&:stable_id)
|
||||||
champs.filter { _1.stable_id.in?(stable_ids) && _1.row_id.present? }
|
champs.filter { _1.stable_id.in?(stable_ids) && _1.row_id.present? }
|
||||||
|
|
|
@ -203,6 +203,10 @@ class ProcedureRevision < ApplicationRecord
|
||||||
coordinate_for(tdc).parent_type_de_champ
|
coordinate_for(tdc).parent_type_de_champ
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def in_revision?(stable_id)
|
||||||
|
types_de_champ.any? { _1.stable_id == stable_id }
|
||||||
|
end
|
||||||
|
|
||||||
def dependent_conditions(tdc)
|
def dependent_conditions(tdc)
|
||||||
stable_id = tdc.stable_id
|
stable_id = tdc.stable_id
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue