diff --git a/app/jobs/migrate_website_connections_job.rb b/app/jobs/migrate_website_connections_job.rb deleted file mode 100644 index f292284e95adc7731dd5c829fd7cdb0c6001f790..0000000000000000000000000000000000000000 --- a/app/jobs/migrate_website_connections_job.rb +++ /dev/null @@ -1,16 +0,0 @@ -class MigrateWebsiteConnectionsJob < ApplicationJob - queue_as :default - - def perform(website_id) - website = Communication::Website.find(website_id) - website.pages.find_each(&:connect_dependencies) - website.posts.find_each(&:connect_dependencies) - website.categories.find_each(&:connect_dependencies) - website.menus.find_each(&:connect_dependencies) - website.connect(website.about, website) if website.about.present? - - website.destroy_obsolete_connections - website.sync_with_git - website.destroy_obsolete_git_files - end -end diff --git a/app/models/communication/website/with_connected_objects.rb b/app/models/communication/website/with_connected_objects.rb index 92da5f081dbc6397056a07dc2c632ee297d94d0c..1972448df0ccf4b3ea5f55f8a826dc31eb906af3 100644 --- a/app/models/communication/website/with_connected_objects.rb +++ b/app/models/communication/website/with_connected_objects.rb @@ -7,6 +7,18 @@ module Communication::Website::WithConnectedObjects after_save :connect_about, if: :saved_change_to_about_id? end + def rebuild_connections_and_git_files + pages.find_each(&:connect_dependencies) + posts.find_each(&:connect_dependencies) + categories.find_each(&:connect_dependencies) + menus.find_each(&:connect_dependencies) + connect(about, self) if about.present? + destroy_obsolete_connections + sync_with_git + destroy_obsolete_git_files + end + handle_asynchronously :rebuild_connections_and_git_files, queue: :low_priority + # Appelé # - par un objet avec des connexions lorsqu'il est destroyed # - par le website lui-même au changement du about diff --git a/lib/tasks/auto.rake b/lib/tasks/auto.rake index 4ae4ca6a584d68496d0d4a3c9e1b14baf805a8fb..c65badf7ee6aa3d6b98bfc4417e6e9d20218fafe 100644 --- a/lib/tasks/auto.rake +++ b/lib/tasks/auto.rake @@ -8,7 +8,7 @@ namespace :auto do desc 'Resave every website to enable publications in the future' task save_and_sync_websites: :environment do Communication::Website.find_each do |website| - website.save_and_sync + website.rebuild_connections_and_git_files end end