an admin can delete a groupe-instructeur with 0 dossier

This commit is contained in:
clemkeirua 2020-01-06 17:09:08 +01:00
parent a6287d5a01
commit 45c8c8ca21
3 changed files with 22 additions and 1 deletions

View file

@ -48,6 +48,18 @@ module NewAdministrateur
end end
end end
def destroy
if procedure.groupe_instructeurs.one?
flash[:alert] = "Suppression impossible : il doit y avoir au moins un groupe instructeur sur chaque procédure"
elsif groupe_instructeur == procedure.defaut_groupe_instructeur
flash[:alert] = "Impossible de supprimer le groupe par défaut"
else
flash[:notice] = "le groupe « #{groupe_instructeur.label} » a été supprimé."
groupe_instructeur.destroy
end
redirect_to procedure_groupe_instructeurs_path(procedure)
end
def add_instructeur def add_instructeur
emails = params['emails'].presence || [] emails = params['emails'].presence || []
emails = emails.map(&:strip).map(&:downcase) emails = emails.map(&:strip).map(&:downcase)

View file

@ -34,5 +34,14 @@
%tr %tr
%td= group.label %td= group.label
%td.actions= link_to "voir", procedure_groupe_instructeur_path(@procedure, group) %td.actions= link_to "voir", procedure_groupe_instructeur_path(@procedure, group)
- if @groupes_instructeurs.count > 1
- if group.dossiers.count == 0
%td.actions
- if group == @procedure.defaut_groupe_instructeur
Groupe par défaut ne peut être supprimé
- else
= link_to procedure_groupe_instructeur_path(@procedure, group), { method: :delete, class: 'button', data: { confirm: "Êtes-vous sûr de vouloir supprimer le groupe « #{group.label} » ?" }} do
%span.icon.delete
supprimer ce groupe
= paginate @groupes_instructeurs = paginate @groupes_instructeurs

View file

@ -356,7 +356,7 @@ Rails.application.routes.draw do
get 'annotations' get 'annotations'
end end
resources :groupe_instructeurs, only: [:index, :show, :create, :update] do resources :groupe_instructeurs, only: [:index, :show, :create, :update, :destroy] do
member do member do
post 'add_instructeur' post 'add_instructeur'
delete 'remove_instructeur' delete 'remove_instructeur'