diff --git a/lib/tasks/2018_03_08_send_missed_accuse_reception.rake b/lib/tasks/2018_03_08_send_missed_accuse_reception.rake new file mode 100644 index 000000000..d01343e15 --- /dev/null +++ b/lib/tasks/2018_03_08_send_missed_accuse_reception.rake @@ -0,0 +1,26 @@ +namespace :'2018_03_08_send_missing_accuse_reception' do + task send: :environment do + # Send accusés de réception that were missed because of #1510 + # + # The bug was introduced in production with the 2018-03-01-01 release + # and fixed with the 2018-03-05-03 release. + # + # `bug_date` and `fix_date` were determined empirically by looking at the release times, + # and checking for dossiers with a missing accusé de réception. + + bug_date = DateTime.new(2018, 3, 1, 9, 50) + fix_date = DateTime.new(2018, 3, 5, 18, 40) + + # Only send the accusé for dossiers that are still en construction. + # For dossiers that have moved on, other mails have been sent since, and a late + # accusé de réception would add more confusion than it’s worth + problem_dossiers = Dossier.where(en_construction_at: bug_date..fix_date) + problem_dossiers.find_each do |dossier| + template = dossier.procedure.initiated_mail_template + date_depot = dossier.en_construction_at.in_time_zone("Paris").strftime('%d/%m/%Y à %H:%M') + body_prefix = "

Suite à une difficulté technique, veuillez recevoir par la présente l’accusé de réception pour votre dossier déposé le #{date_depot}.
L’équipe demarches-simplifiees.fr vous présente ses excuses pour la gène occasionnée.


\n" + template.body = body_prefix + template.body + NotificationMailer.send_notification(dossier, template).deliver_now! + end + end +end