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:
parent
d9570eedc6
commit
675bbdad15
3 changed files with 29 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue