demarches-normaliennes/app/models/concerns/dossier_prefillable_concern.rb

20 lines
519 B
Ruby
Raw Normal View History

2022-11-28 15:54:14 +01:00
# frozen_string_literal: true
module DossierPrefillableConcern
2022-11-28 15:54:14 +01:00
extend ActiveSupport::Concern
def prefill!(champs_attributes)
return unless champs_attributes.any?
attributes = { prefilled: true }
attributes[:champs_attributes] = champs_attributes.map { |h| h.merge(prefilled: true) }
2022-11-28 15:54:14 +01:00
assign_attributes(attributes)
2022-11-28 15:54:14 +01:00
save(validate: false)
end
def find_champs_by_stable_ids(stable_ids)
champs.joins(:type_de_champ).where(types_de_champ: { stable_id: stable_ids.compact.uniq })
end
2022-11-28 15:54:14 +01:00
end