Merge pull request #9005 from mfo/US/fix-groupe_instructeurs-with-at-least-one-active
correctif(procedure.clone): ET admin, je souhaite pouvoir cloner une procedure ayant deux groupes d'instructeur ayant le dernier fermé
This commit is contained in:
commit
96fbbbbbb9
2 changed files with 15 additions and 1 deletions
|
@ -25,7 +25,15 @@ class GroupeInstructeur < ApplicationRecord
|
|||
|
||||
validates :label, presence: true, allow_nil: false
|
||||
validates :label, uniqueness: { scope: :procedure }
|
||||
validates :closed, acceptance: { accept: [false] }, if: -> { closed_changed? && self.procedure.groupe_instructeurs.active.one? }
|
||||
validates :closed, acceptance: { accept: [false] }, if: -> do
|
||||
if closed
|
||||
other_groupes = procedure.groupe_instructeurs - [self]
|
||||
|
||||
(other_groupes.map(&:closed) + [closed]).all?
|
||||
else
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
before_validation -> { label&.strip! }
|
||||
after_save :toggle_routing
|
||||
|
|
|
@ -523,6 +523,12 @@ describe Procedure do
|
|||
it "should clone instructeurs in the groupe" do
|
||||
expect(subject.groupe_instructeurs.where(label: "groupe_1").first.instructeurs.map(&:email)).to eq(procedure.groupe_instructeurs.where(label: "groupe_1").first.instructeurs.map(&:email))
|
||||
end
|
||||
|
||||
it 'should clone with success a second group instructeur closed' do
|
||||
procedure.groupe_instructeurs.last.update(closed: true)
|
||||
|
||||
expect { subject }.not_to raise_error
|
||||
end
|
||||
end
|
||||
|
||||
it 'should reset duree_conservation_etendue_par_ds' do
|
||||
|
|
Loading…
Reference in a new issue