5e05556ee8
Validate that a dossier on a `for_individual?` procedure always has an `individual` associated record. For this, the individual needs to be built before the record is validated (i.e. even before the `before_create` callback is run). This should help with #4596: now if a dossier is created without an `individual`, or if the `invividual` record is later removed, the validation will fail.
19 lines
617 B
Ruby
19 lines
617 B
Ruby
class Individual < ApplicationRecord
|
|
belongs_to :dossier
|
|
|
|
validates :dossier_id, uniqueness: true
|
|
validates :gender, presence: true, allow_nil: false, on: :update
|
|
validates :nom, presence: true, allow_blank: false, allow_nil: false, on: :update
|
|
validates :prenom, presence: true, allow_blank: false, allow_nil: false, on: :update
|
|
|
|
GENDER_MALE = 'M.'
|
|
GENDER_FEMALE = 'Mme'
|
|
|
|
def self.from_france_connect(fc_information)
|
|
new(
|
|
nom: fc_information.family_name,
|
|
prenom: fc_information.given_name,
|
|
gender: fc_information.gender == 'female' ? GENDER_FEMALE : GENDER_MALE
|
|
)
|
|
end
|
|
end
|