From d6856e05471d149c78227444bafa6e61ed146213 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com>
Date: Fri, 28 Apr 2023 15:12:02 +0200
Subject: [PATCH] clean

---
 app/models/concerns/with_dependencies.rb | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/app/models/concerns/with_dependencies.rb b/app/models/concerns/with_dependencies.rb
index 5b8526ead..03129bd16 100644
--- a/app/models/concerns/with_dependencies.rb
+++ b/app/models/concerns/with_dependencies.rb
@@ -56,13 +56,13 @@ module WithDependencies
   end
 
   protected
-  
+
   # Si l'objet est déjà là, on ne doit pas l'ajouter
   # Si l'objet n'est pas syncable, on ne doit pas l'ajouter non plus
   def dependency_should_be_added?(array, dependency, syncable_only)
     !dependency.in?(array) && dependency_should_be_synced?(dependency, syncable_only)
   end
-  
+
   # Si on n'est pas en syncable only on liste tout, sinon, il faut analyser
   def dependency_should_be_synced?(dependency, syncable_only)
     !syncable_only || (dependency.respond_to?(:syncable?) && dependency.syncable?)
@@ -84,15 +84,18 @@ module WithDependencies
   end
 
   def clean_websites
+    # Les objets directs et les objets indirects (et les websites) répondent !
     return unless respond_to?(:is_direct_object?)
-    
-    if is_direct_object?
+    websites_to_clean.each do |website|
+      website.destroy_obsolete_connections
       website.destroy_obsolete_git_files
-    elsif is_indirect_object?
-      websites.each(&:destroy_obsolete_git_files)
     end
   end
 
+  def websites_to_clean
+    is_direct_object? ? [website] : websites
+  end
+
   def missing_dependencies_after_save
     @previous_dependencies - reloaded_recursive_dependencies_syncable_filtered
   end
-- 
GitLab