fix(dossier): do not create groupe instructeur assignements on brouillons

This commit is contained in:
Paul Chavard 2023-07-18 10:37:45 +02:00
parent 04160b5d44
commit 1882f652d5
4 changed files with 4 additions and 10 deletions

View file

@ -542,8 +542,6 @@ module Users
errors += format_errors(errors: @dossier.errors)
errors += format_errors(errors: @dossier.check_mandatory_and_visible_champs)
RoutingEngine.compute(@dossier)
errors
end

View file

@ -11,7 +11,7 @@ module Mutations
field :errors, [Types::ValidationErrorType], null: true
def resolve(dossier:, groupe_instructeur:)
dossier.assign_to_groupe_instructeur(groupe_instructeur, DossierAssignment.modes.fetch(:manual))
dossier.assign_to_groupe_instructeur(groupe_instructeur, DossierAssignment.modes.fetch(:manual), current_administrateur)
{ dossier: }
end

View file

@ -476,7 +476,6 @@ class Dossier < ApplicationRecord
validates :user, presence: true, if: -> { deleted_user_email_never_send.nil? }, unless: -> { prefilled }
validates :individual, presence: true, if: -> { revision.procedure.for_individual? }
validates :groupe_instructeur, presence: true, if: -> { !brouillon? }
validates_associated :prefilled_champs_public, on: :prefilling
@ -695,12 +694,10 @@ class Dossier < ApplicationRecord
previous_groupe_instructeur = self.groupe_instructeur
update!(groupe_instructeur:, groupe_instructeur_updated_at: Time.zone.now)
create_assignment(mode, previous_groupe_instructeur, groupe_instructeur, author&.email)
update!(forced_groupe_instructeur: true) if mode == DossierAssignment.modes.fetch(:manual)
if !brouillon?
create_assignment(mode, previous_groupe_instructeur, groupe_instructeur, author&.email)
unfollow_stale_instructeurs
if author.present?
log_dossier_operation(author, :changer_groupe_instructeur, self)
@ -908,6 +905,7 @@ class Dossier < ApplicationRecord
MailTemplatePresenterService.create_commentaire_for_state(self)
NotificationMailer.send_en_construction_notification(self).deliver_later
procedure.compute_dossiers_count
RoutingEngine.compute(self)
end
def after_passer_en_instruction(h)

View file

@ -16,9 +16,7 @@ RSpec.describe DossierAssignment, type: :model do
let(:drop_down_tdc) { procedure.draft_revision.types_de_champ.first }
let(:dossier) { create(:dossier, procedure:, groupe_instructeur_id: nil) }
let(:defaut_groupe) { procedure.defaut_groupe_instructeur }
let(:gi_2) { procedure.groupe_instructeurs.find_by(label: 'a second group') }
let(:dossier) { create(:dossier, :en_construction, procedure:).tap { _1.update(groupe_instructeur_id: nil) } }
before do
RoutingEngine.compute(dossier)