diff --git a/app/models/user.rb b/app/models/user.rb
index 16412ddf8..5201df213 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -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)
diff --git a/app/views/manager/users/show.html.erb b/app/views/manager/users/show.html.erb
index 2d3f24982..833e79723 100644
--- a/app/views/manager/users/show.html.erb
+++ b/app/views/manager/users/show.html.erb
@@ -25,7 +25,7 @@ as well as a link to its edit page.
- <%= 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" %>
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index 9c3c6bde8..19b317f40 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -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