[#2772] For unmigrated dossiers, make read-only access possible
and notify usager
This commit is contained in:
parent
1e4ccda14c
commit
bbdb446dfd
3 changed files with 58 additions and 6 deletions
|
@ -29,4 +29,13 @@ class DossierMailer < ApplicationMailer
|
||||||
|
|
||||||
mail(to: dossier.user.email, subject: @subject)
|
mail(to: dossier.user.email, subject: @subject)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def notify_unmigrated_to_user(dossier, new_procedure)
|
||||||
|
@dossier = dossier
|
||||||
|
@dossier_kind = dossier.brouillon? ? 'brouillon' : 'dossier'
|
||||||
|
@subject = "Changement de procédure pour votre #{@dossier_kind} n° #{@dossier.id}"
|
||||||
|
@new_procedure = new_procedure
|
||||||
|
|
||||||
|
mail(to: dossier.user.email, subject: @subject)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
26
app/views/dossier_mailer/notify_unmigrated_to_user.html.haml
Normal file
26
app/views/dossier_mailer/notify_unmigrated_to_user.html.haml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
- content_for(:title, @subject)
|
||||||
|
|
||||||
|
%h1 Bonjour,
|
||||||
|
|
||||||
|
%p
|
||||||
|
Vous avez commencé un #{@dossier_kind},
|
||||||
|
= link_to("n° #{@dossier.id}", dossier_url(@dossier))
|
||||||
|
sur la procédure « #{@dossier.procedure.libelle} ».
|
||||||
|
En raison d’un changement dans la procédure, votre #{@dossier_kind} a été inaccessible pendant quelques jours.
|
||||||
|
L’accès est à présent à nouveau possible.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Malheureusement, en raison des changements dans le procédure, vous ne pourrez pas mener à terme le #{@dossier_kind} commencé.
|
||||||
|
Si votre démarche est toujours d’actualité, nous vous invitons à la recommencer sur
|
||||||
|
= link_to("la nouvelle procédure", commencer_url(@new_procedure.path))
|
||||||
|
\.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Nous avons pris des mesures pour nous assurer qu’un tel désagrément ne se reproduise pas,
|
||||||
|
et vous présentons nos excuses pour la gène occasionnée.
|
||||||
|
|
||||||
|
%p
|
||||||
|
Bonne journée,
|
||||||
|
|
||||||
|
%p
|
||||||
|
L'équipe demarches-simplifiees.fr
|
|
@ -172,20 +172,37 @@ namespace :after_party do
|
||||||
end
|
end
|
||||||
|
|
||||||
def restore_deleted_dossiers(deleted_procedure_id, new_procedure_id, champ_mapping, champ_private_mapping, pj_mapping)
|
def restore_deleted_dossiers(deleted_procedure_id, new_procedure_id, champ_mapping, champ_private_mapping, pj_mapping)
|
||||||
Dossier.unscoped
|
|
||||||
.joins('JOIN procedures ON procedures.id = dossiers.procedure_id')
|
|
||||||
.where(procedure_id: deleted_procedure_id)
|
|
||||||
.where('dossiers.hidden_at >= procedures.hidden_at')
|
|
||||||
.update_all(hidden_at: nil)
|
|
||||||
|
|
||||||
source_procedure = Procedure.unscoped.find(deleted_procedure_id)
|
source_procedure = Procedure.unscoped.find(deleted_procedure_id)
|
||||||
destination_procedure = Procedure.find(new_procedure_id)
|
destination_procedure = Procedure.find(new_procedure_id)
|
||||||
|
|
||||||
|
deleted_dossiers = Dossier.unscoped
|
||||||
|
.where(procedure_id: deleted_procedure_id)
|
||||||
|
.where('dossiers.hidden_at >= ?', source_procedure.hidden_at)
|
||||||
|
|
||||||
|
deleted_dossier_ids = deleted_dossiers.pluck(:id).to_a
|
||||||
|
deleted_dossiers.update_all(hidden_at: nil)
|
||||||
|
|
||||||
|
source_procedure
|
||||||
|
.update_columns(
|
||||||
|
hidden_at: nil,
|
||||||
|
archived_at: source_procedure.hidden_at,
|
||||||
|
aasm_state: :archivee
|
||||||
|
)
|
||||||
|
|
||||||
migrator = Tasks::DossierProcedureMigrator.new(source_procedure, destination_procedure, champ_mapping, champ_private_mapping, pj_mapping) do |dossier|
|
migrator = Tasks::DossierProcedureMigrator.new(source_procedure, destination_procedure, champ_mapping, champ_private_mapping, pj_mapping) do |dossier|
|
||||||
DossierMailer.notify_undelete_to_user(dossier).deliver_later
|
DossierMailer.notify_undelete_to_user(dossier).deliver_later
|
||||||
end
|
end
|
||||||
migrator.check_consistency
|
migrator.check_consistency
|
||||||
migrator.migrate_dossiers
|
migrator.migrate_dossiers
|
||||||
|
|
||||||
|
source_procedure.dossiers.where(id: deleted_dossier_ids).find_each do |dossier|
|
||||||
|
if dossier.termine?
|
||||||
|
DossierMailer.notify_undelete_to_user(dossier).deliver_later
|
||||||
|
else
|
||||||
|
rake_puts "Dossier #{dossier.id} non migré\n"
|
||||||
|
DossierMailer.notify_unmigrated_to_user(dossier, destination_procedure).deliver_later
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end.new.run
|
end.new.run
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue