Merge pull request #6838 from tchak/fix-dossiers-attestations
hotfix(attestation): add missing attestations on dossiers
This commit is contained in:
commit
413f66e144
2 changed files with 22 additions and 19 deletions
|
@ -1,19 +0,0 @@
|
|||
namespace :hotfix do
|
||||
desc 'Fix attestation templates'
|
||||
task attestation_templates: :environment do
|
||||
attestation_templates = Rails.root.join('lib', 'tasks', 'attestation_templates.json')
|
||||
file = File.read attestation_templates
|
||||
json = JSON.parse file
|
||||
progress = ProgressReport.new(json.size)
|
||||
|
||||
json.each do |row|
|
||||
attestation_template = AttestationTemplate.find_by(id: row['id'])
|
||||
procedure = Procedure.find_by(id: row['procedure_id'])
|
||||
if attestation_template.present? && procedure.present?
|
||||
attestation_template.update_column(:procedure_id, procedure.id)
|
||||
end
|
||||
progress.inc
|
||||
end
|
||||
progress.finish
|
||||
end
|
||||
end
|
22
lib/tasks/hotfix.rake
Normal file
22
lib/tasks/hotfix.rake
Normal file
|
@ -0,0 +1,22 @@
|
|||
namespace :hotfix do
|
||||
desc 'Fix dossiers attestations'
|
||||
task dossiers_attestations: :environment do
|
||||
dossiers = Dossier
|
||||
.joins(procedure: :attestation_template)
|
||||
.left_outer_joins(:attestation)
|
||||
.where(attestation_templates: { activated: true },
|
||||
attestations: { id: nil },
|
||||
state: "accepte")
|
||||
.where("dossiers.processed_at > '2022-01-24'")
|
||||
progress = ProgressReport.new(dossiers.count)
|
||||
|
||||
dossiers.find_each do |dossier|
|
||||
if dossier.attestation.blank?
|
||||
dossier.attestation = dossier.build_attestation
|
||||
dossier.save!
|
||||
end
|
||||
progress.inc
|
||||
end
|
||||
progress.finish
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue