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