empêche suppression d'un user qui est instructeur
This commit is contained in:
parent
a6d007dbd3
commit
d9570eedc6
3 changed files with 10 additions and 2 deletions
|
@ -97,7 +97,7 @@ class User < ApplicationRecord
|
|||
end
|
||||
|
||||
def can_be_deleted?
|
||||
administrateur.nil? && dossiers.state_instruction_commencee.empty?
|
||||
administrateur.nil? && instructeur.nil? && dossiers.state_instruction_commencee.empty?
|
||||
end
|
||||
|
||||
def delete_and_keep_track_dossiers(administration)
|
||||
|
|
|
@ -25,7 +25,7 @@ as well as a link to its edit page.
|
|||
</h1>
|
||||
|
||||
<div>
|
||||
<%= button_to "supprimer", delete_manager_user_path(page.resource), method: :delete, disabled: !page.resource.can_be_deleted?, class: "button", data: { confirm: "Confirmez-vous la suppression de l'utilisateur ?" }, title: page.resource.can_be_deleted? ? "Supprimer" : "Cet utilisateur ne peut être supprimé. Il a des dossiers dont l'instruction a commencé ou c'est un administrateur" %>
|
||||
<%= button_to "supprimer", delete_manager_user_path(page.resource), method: :delete, disabled: !page.resource.can_be_deleted?, class: "button", data: { confirm: "Confirmez-vous la suppression de l'utilisateur ?" }, title: page.resource.can_be_deleted? ? "Supprimer" : "Cet utilisateur ne peut être supprimé. Il a des dossiers dont l'instruction a commencé ou il est administrateur ou instructeur" %>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
|
|
@ -234,6 +234,14 @@ describe User, type: :model do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when the user is an instructeur' do
|
||||
it 'cannot be deleted' do
|
||||
instructeur = create(:instructeur)
|
||||
user = instructeur.user
|
||||
|
||||
expect(user.can_be_deleted?).to be_falsy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#delete_and_keep_track_dossiers' do
|
||||
|
|
Loading…
Reference in a new issue