Fix notifications on dossiers with migrated carto
This commit is contained in:
parent
4e1cc5cc99
commit
cf98e28178
3 changed files with 32 additions and 0 deletions
2
Gemfile
2
Gemfile
|
@ -127,6 +127,8 @@ gem "administrate"
|
||||||
|
|
||||||
gem 'rack-mini-profiler'
|
gem 'rack-mini-profiler'
|
||||||
|
|
||||||
|
gem 'rake-progressbar', require: false
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem 'launchy'
|
gem 'launchy'
|
||||||
gem 'factory_bot'
|
gem 'factory_bot'
|
||||||
|
|
|
@ -468,6 +468,7 @@ GEM
|
||||||
thor (>= 0.19.0, < 2.0)
|
thor (>= 0.19.0, < 2.0)
|
||||||
rainbow (3.0.0)
|
rainbow (3.0.0)
|
||||||
rake (12.3.1)
|
rake (12.3.1)
|
||||||
|
rake-progressbar (0.0.5)
|
||||||
rb-fsevent (0.10.3)
|
rb-fsevent (0.10.3)
|
||||||
rb-inotify (0.9.10)
|
rb-inotify (0.9.10)
|
||||||
ffi (>= 0.5.0, < 2)
|
ffi (>= 0.5.0, < 2)
|
||||||
|
@ -718,6 +719,7 @@ DEPENDENCIES
|
||||||
rails
|
rails
|
||||||
rails-controller-testing
|
rails-controller-testing
|
||||||
rails-i18n
|
rails-i18n
|
||||||
|
rake-progressbar
|
||||||
rbnacl-libsodium
|
rbnacl-libsodium
|
||||||
rest-client
|
rest-client
|
||||||
rgeo-geojson
|
rgeo-geojson
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
require 'rake-progressbar'
|
||||||
|
|
||||||
|
namespace :after_party do
|
||||||
|
desc 'Deployment task: fix_notifications_after_carto_migration'
|
||||||
|
task fix_notifications_after_carto_migration: :environment do
|
||||||
|
def fix_notifications(dossier)
|
||||||
|
updated_at = dossier.champs[1..-1].map(&:updated_at).max
|
||||||
|
champ_carte = dossier.champs.first
|
||||||
|
if updated_at && (!champ_carte.updated_at || champ_carte.updated_at > updated_at)
|
||||||
|
champ_carte.update_columns(updated_at: updated_at, created_at: updated_at)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
dossiers = Dossier.includes(:champs)
|
||||||
|
.joins(procedure: :module_api_carto)
|
||||||
|
.where(procedure: { module_api_cartos: { migrated: true } })
|
||||||
|
|
||||||
|
bar = RakeProgressbar.new(dossiers.count)
|
||||||
|
|
||||||
|
dossiers.find_each do |dossier|
|
||||||
|
fix_notifications(dossier)
|
||||||
|
bar.inc
|
||||||
|
end
|
||||||
|
bar.finished
|
||||||
|
|
||||||
|
AfterParty::TaskRecord.create version: '20181121153709'
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Reference in a new issue