Insert type_de_champ with correct initial position
This commit is contained in:
parent
3193784c24
commit
69ab2e44fb
3 changed files with 25 additions and 6 deletions
|
@ -14,12 +14,18 @@ class ProcedureRevision < ApplicationRecord
|
|||
find_or_clone_type_de_champ(params.delete(:parent_id))
|
||||
.types_de_champ
|
||||
.tap do |types_de_champ|
|
||||
params[:order_place] = types_de_champ.size
|
||||
params[:order_place] = types_de_champ.present? ? types_de_champ.last.order_place + 1 : 0
|
||||
end.create(params)
|
||||
elsif params[:private]
|
||||
types_de_champ_private.create(params)
|
||||
types_de_champ_private.tap do |types_de_champ|
|
||||
# FIXUP: needed during transition to revisions
|
||||
params[:order_place] = types_de_champ.present? ? types_de_champ.last.order_place + 1 : 0
|
||||
end.create(params)
|
||||
else
|
||||
types_de_champ.create(params)
|
||||
types_de_champ.tap do |types_de_champ|
|
||||
# FIXUP: needed during transition to revisions
|
||||
params[:order_place] = types_de_champ.present? ? types_de_champ.last.order_place + 1 : 0
|
||||
end.create(params)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -16,9 +16,17 @@ class ProcedureRevisionTypeDeChamp < ApplicationRecord
|
|||
|
||||
def set_position
|
||||
self.position ||= if private?
|
||||
revision.types_de_champ_private.size
|
||||
if revision.types_de_champ_private.present?
|
||||
revision.revision_types_de_champ_private.filter(&:persisted?).last.position + 1
|
||||
else
|
||||
0
|
||||
end
|
||||
else
|
||||
revision.types_de_champ.size
|
||||
if revision.types_de_champ.present?
|
||||
revision.revision_types_de_champ.filter(&:persisted?).last.position + 1
|
||||
else
|
||||
0
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue