diff options
| author | Zog | 2018-01-17 17:21:18 +0100 | 
|---|---|---|
| committer | Zog | 2018-01-17 17:21:18 +0100 | 
| commit | 98127bd3d67395c6ec9fc8e0a7ef253f67e8565d (patch) | |
| tree | 56b65a2af22cd56e16da6b61287c1d626ae03a0e | |
| parent | b853120644819dd1ae646ea762f457836abfea09 (diff) | |
| download | chouette-core-98127bd3d67395c6ec9fc8e0a7ef253f67e8565d.tar.bz2 | |
Refs #5593; Add same task for all referentials in given organisation
| -rw-r--r-- | lib/tasks/referential.rake | 26 | 
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 | 
