2023-06-30 11:26:23 +02:00
|
|
|
# == Schema Information
|
|
|
|
#
|
|
|
|
# Table name: dossier_assignments
|
|
|
|
#
|
|
|
|
# id :bigint not null, primary key
|
|
|
|
# assigned_at :datetime not null
|
|
|
|
# assigned_by :string
|
|
|
|
# groupe_instructeur_label :string
|
|
|
|
# mode :string not null
|
|
|
|
# previous_groupe_instructeur_label :string
|
|
|
|
# dossier_id :bigint not null
|
|
|
|
# groupe_instructeur_id :bigint
|
|
|
|
# previous_groupe_instructeur_id :bigint
|
|
|
|
#
|
|
|
|
class DossierAssignment < ApplicationRecord
|
|
|
|
belongs_to :dossier
|
|
|
|
|
2023-07-13 16:47:55 +02:00
|
|
|
belongs_to :groupe_instructeur, optional: true, inverse_of: :assignments
|
|
|
|
belongs_to :previous_groupe_instructeur, class_name: 'GroupeInstructeur', optional: true, inverse_of: :previous_assignments
|
|
|
|
|
2023-06-30 11:26:23 +02:00
|
|
|
enum mode: {
|
|
|
|
auto: 'auto',
|
|
|
|
manual: 'manual'
|
|
|
|
}
|
2023-06-30 15:27:38 +02:00
|
|
|
scope :manual, -> { where(mode: :manual) }
|
2023-07-04 22:19:12 +02:00
|
|
|
|
|
|
|
def groupe_instructeur_label
|
2023-07-13 16:47:55 +02:00
|
|
|
@groupe_instructeur_label ||= groupe_instructeur&.label.presence || read_attribute(:groupe_instructeur_label)
|
2023-07-04 22:19:12 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def previous_groupe_instructeur_label
|
2023-07-13 16:47:55 +02:00
|
|
|
@previous_groupe_instructeur_label ||= previous_groupe_instructeur&.label.presence || read_attribute(:previous_groupe_instructeur_label)
|
2023-07-04 22:19:12 +02:00
|
|
|
end
|
2023-06-30 11:26:23 +02:00
|
|
|
end
|