diff --git a/app/controllers/instructeurs/dossiers_controller.rb b/app/controllers/instructeurs/dossiers_controller.rb index 5892a7898..2f1ec2448 100644 --- a/app/controllers/instructeurs/dossiers_controller.rb +++ b/app/controllers/instructeurs/dossiers_controller.rb @@ -91,7 +91,7 @@ module Instructeurs @avis_emails = dossier.experts.map(&:email) @invites_emails = dossier.invites.map(&:email) @potential_recipients = dossier.groupe_instructeur.instructeurs.reject { |g| g == current_instructeur } - @manual_assignments = dossier.dossier_assignments.manual + @manual_assignments = dossier.dossier_assignments.manual.includes(:groupe_instructeur, :previous_groupe_instructeur) end def send_to_instructeurs diff --git a/app/models/dossier_assignment.rb b/app/models/dossier_assignment.rb index 0bd82781f..46917e188 100644 --- a/app/models/dossier_assignment.rb +++ b/app/models/dossier_assignment.rb @@ -15,6 +15,9 @@ class DossierAssignment < ApplicationRecord belongs_to :dossier + belongs_to :groupe_instructeur, optional: true, inverse_of: :assignments + belongs_to :previous_groupe_instructeur, class_name: 'GroupeInstructeur', optional: true, inverse_of: :previous_assignments + enum mode: { auto: 'auto', manual: 'manual' @@ -22,10 +25,10 @@ class DossierAssignment < ApplicationRecord scope :manual, -> { where(mode: :manual) } def groupe_instructeur_label - @groupe_instructeur_label ||= GroupeInstructeur.find_by(id: groupe_instructeur_id)&.label || read_attribute(:groupe_instructeur_label) + @groupe_instructeur_label ||= groupe_instructeur&.label.presence || read_attribute(:groupe_instructeur_label) end def previous_groupe_instructeur_label - @previous_groupe_instructeur_label ||= GroupeInstructeur.find_by(id: previous_groupe_instructeur_id)&.label || read_attribute(:previous_groupe_instructeur_label) + @previous_groupe_instructeur_label ||= previous_groupe_instructeur&.label.presence || read_attribute(:previous_groupe_instructeur_label) end end diff --git a/app/models/groupe_instructeur.rb b/app/models/groupe_instructeur.rb index 0227e645a..7acf19561 100644 --- a/app/models/groupe_instructeur.rb +++ b/app/models/groupe_instructeur.rb @@ -19,6 +19,8 @@ class GroupeInstructeur < ApplicationRecord has_many :dossiers has_many :deleted_dossiers has_many :batch_operations, through: :dossiers, source: :batch_operations + has_many :assignments, class_name: 'DossierAssignment', dependent: :nullify, inverse_of: :groupe_instructeur + has_many :previous_assignments, class_name: 'DossierAssignment', dependent: :nullify, inverse_of: :previous_groupe_instructeur has_and_belongs_to_many :exports, dependent: :destroy has_and_belongs_to_many :bulk_messages, dependent: :destroy