demarches-normaliennes/lib/tasks/2017_10_18_regenerate_attestation.rake
2017-10-19 15:40:52 +02:00

29 lines
830 B
Ruby

namespace :'2017_10_18_regenerate_attestation' do
task set: :environment do
include ActiveSupport::Testing::TimeHelpers
if ENV['ATTESTATION_ID'].present?
regenerate_attestations(Attestation.find(ENV['ATTESTATION_ID']))
else
Attestation.all.each { |attestation| regenerate_attestations(attestation) }
end
end
def regenerate_attestations(attestation)
Procedure.unscoped do
Dossier.unscoped do
dossier = attestation.dossier
procedure = dossier.procedure
puts "processing dossier #{dossier.id}"
travel_to(dossier.processed_at) do
new_attestation = procedure.attestation_template.attestation_for(dossier)
attestation.delete
dossier.attestation = new_attestation
dossier.save
end
end
end
end
end