transfere les services lors de suppression admin

Lorsqu'un administrateur est supprimé, ses services sont transférés à un
autre administrateur pour chacune de ses procédures
This commit is contained in:
Christophe Robillard 2020-01-17 16:24:33 +01:00
parent d9570eedc6
commit 675bbdad15
3 changed files with 29 additions and 5 deletions

View file

@ -70,4 +70,17 @@ class Administrateur < ApplicationRecord
def can_be_deleted?
dossiers.state_instruction_commencee.none? && procedures.all? { |p| p.administrateurs.count > 1 }
end
def delete_and_transfer_services
if !can_be_deleted?
fail "Impossible de supprimer cet administrateur car il a des dossiers ou des procédures"
end
dossiers.each(&:delete_and_keep_track)
procedures.each do |procedure|
next_administrateur = procedure.administrateurs.where.not(id: self.id).first
procedure.service.update(administrateur: next_administrateur)
end
destroy
end
end