Revert "Revert "4127 fix superadmin supprime compte usager""

This reverts commit 751f24f7bb.
This commit is contained in:
Christophe Robillard 2020-01-30 10:48:28 +01:00
parent a82cf22b71
commit cee4c5b8fb
13 changed files with 150 additions and 22 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