diff --git a/app/models/communication/website/with_git_repository.rb b/app/models/communication/website/with_git_repository.rb index 96dec51035ee8e0c1dac08483e2063af071365ee..a9e13715665261a665cf82abebc24bd23daf6fe0 100644 --- a/app/models/communication/website/with_git_repository.rb +++ b/app/models/communication/website/with_git_repository.rb @@ -35,7 +35,7 @@ module Communication::Website::WithGitRepository # Synchronisation optimale d'objet indirect def sync_indirect_object_with_git(indirect_object) - indirect_object.direct_sources_with_dependencies.each do |dependency| + indirect_object.direct_sources_with_dependencies_for_website(self).each do |dependency| Communication::Website::GitFile.sync self, dependency end git_repository.sync! diff --git a/app/models/concerns/as_indirect_object.rb b/app/models/concerns/as_indirect_object.rb index 515eeb812b02a3833fb2960e6b0267d2727cdb0d..b08b5f5edad80217ab17c68871291fe265b01b6c 100644 --- a/app/models/concerns/as_indirect_object.rb +++ b/app/models/concerns/as_indirect_object.rb @@ -52,10 +52,10 @@ module AsIndirectObject connections.collect &:direct_source end - def direct_sources_with_dependencies + def direct_sources_with_dependencies_for_website(website) dependencies = [] direct_sources.each do |direct_source| - dependencies = add_direct_source_to_dependencies(direct_source, array: dependencies) + dependencies = add_direct_source_to_dependencies(direct_source, website, array: dependencies) end dependencies end @@ -78,9 +78,9 @@ module AsIndirectObject end end - def add_direct_source_to_dependencies(direct_source, array: []) + def add_direct_source_to_dependencies(direct_source, website, array: []) # Ne pas traiter les sources d'autres sites - return array unless direct_source.website.id == self.id + return array unless direct_source.website.id == website.id # Ne pas traiter les sources non synchronisables return array unless direct_source.syncable? # Ne pas traiter si la source directe est déjà dans le tableau de dépendances