From 98127bd3d67395c6ec9fc8e0a7ef253f67e8565d Mon Sep 17 00:00:00 2001 From: Zog Date: Wed, 17 Jan 2018 17:21:18 +0100 Subject: Refs #5593; Add same task for all referentials in given organisation --- lib/tasks/referential.rake | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'lib/tasks') diff --git a/lib/tasks/referential.rake b/lib/tasks/referential.rake index 1b46f69f0..adb31cf50 100644 --- a/lib/tasks/referential.rake +++ b/lib/tasks/referential.rake @@ -68,17 +68,19 @@ namespace :referential do end end - desc 'Update all the checksums in the given referential' - task :update_checksums_in_referential, [:slug] => :environment do |t, args| + def update_checksums_fo_referential referential thing = %w(\\ | / —) - Referential.force_register_models_with_checksum if Rails.env.development? - referential = Referential.find_by_slug(args[:slug]) + Referential.force_register_models_with_checksum if Rails.env.development? && Referential.models_with_checksum.empty? + puts "\n \e[33m***\e[0m Referential #{referential.name}" referential.switch do Referential.models_with_checksum.each do |klass| i = 0 j = 0 prev_size = 1 - print "Updating checksums for #{klass.name}: " + head = "Updating checksums for #{klass.name}: " + print head + print "⎯"*(80-head.size) + print " " count = klass.count klass.find_each do |o| o.update_checksum! @@ -94,4 +96,18 @@ namespace :referential do end end end + + desc 'Update all the checksums in the given referential' + task :update_checksums_in_referential, [:slug] => :environment do |t, args| + referential = Referential.find_by_slug(args[:slug]) + update_checksums_fo_referential referential + end + + desc 'Update all the checksums in the given organisation' + task :update_checksums_in_organisation, [:organisation_id] => :environment do |t, args| + thing = %w(\\ | / —) + Organisation.find(args[:organisation_id]).referentials.find_each do |referential| + update_checksums_fo_referential referential + end + end end -- cgit v1.2.3