fix(revision): fix stable siblings order when there are multiple identical position
Ça arrive parfois dans les tests, et potentiellement en prod : après avoir créé un nouveau `revision_type_de_champ`, on se retrouve très momentanément avec 2 RTDC ayant le même position en attendant le renumérotation peu près. https://github.com/betagouv/demarches-simplifiees.fr/blob/main/app/models/procedure_revision.rb#L55 Ceci conduisait à une renumérotation erronnée quand la db renvoyait le nouveau RTDC créé *avant* les précédents.
This commit is contained in:
parent
1601a18c34
commit
adced0f33a
1 changed files with 1 additions and 1 deletions
|
@ -18,7 +18,7 @@ class ProcedureRevisionTypeDeChamp < ApplicationRecord
|
||||||
has_many :revision_types_de_champ, -> { ordered }, foreign_key: :parent_id, class_name: 'ProcedureRevisionTypeDeChamp', inverse_of: :parent, dependent: :destroy
|
has_many :revision_types_de_champ, -> { ordered }, foreign_key: :parent_id, class_name: 'ProcedureRevisionTypeDeChamp', inverse_of: :parent, dependent: :destroy
|
||||||
has_one :procedure, through: :revision
|
has_one :procedure, through: :revision
|
||||||
scope :root, -> { where(parent: nil) }
|
scope :root, -> { where(parent: nil) }
|
||||||
scope :ordered, -> { order(:position) }
|
scope :ordered, -> { order(:position, :id) }
|
||||||
scope :revision_ordered, -> { order(:revision_id) }
|
scope :revision_ordered, -> { order(:revision_id) }
|
||||||
scope :public_only, -> { joins(:type_de_champ).where(types_de_champ: { private: false }) }
|
scope :public_only, -> { joins(:type_de_champ).where(types_de_champ: { private: false }) }
|
||||||
scope :private_only, -> { joins(:type_de_champ).where(types_de_champ: { private: true }) }
|
scope :private_only, -> { joins(:type_de_champ).where(types_de_champ: { private: true }) }
|
||||||
|
|
Loading…
Reference in a new issue