aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZog2018-01-17 17:21:18 +0100
committerZog2018-01-17 17:21:18 +0100
commit98127bd3d67395c6ec9fc8e0a7ef253f67e8565d (patch)
tree56b65a2af22cd56e16da6b61287c1d626ae03a0e
parentb853120644819dd1ae646ea762f457836abfea09 (diff)
downloadchouette-core-98127bd3d67395c6ec9fc8e0a7ef253f67e8565d.tar.bz2
Refs #5593; Add same task for all referentials in given organisation
-rw-r--r--lib/tasks/referential.rake26
1 files changed, 21 insertions, 5 deletions
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