2024-04-29 00:17:15 +02:00
# frozen_string_literal: true
2018-05-29 12:16:22 +02:00
# Preview all emails at http://localhost:3000/rails/mailers/dossier_mailer
class DossierMailerPreview < ActionMailer :: Preview
2018-11-20 11:50:25 +01:00
def notify_new_draft
2023-02-02 15:58:53 +01:00
DossierMailer . with ( dossier : draft ) . notify_new_draft
2018-11-20 11:50:25 +01:00
end
def notify_new_answer
2022-02-16 18:26:09 +01:00
DossierMailer . with ( commentaire : commentaire ( on : draft ) ) . notify_new_answer
2018-11-20 11:50:25 +01:00
end
2023-03-14 18:48:19 +01:00
def notify_pending_correction
2023-06-26 16:03:58 +02:00
commentaire = commentaire ( on : dossier_en_construction ( sva_svr_decision : :sva ) ) . tap { _1 . build_dossier_correction ( kind : :correction ) }
DossierMailer . with ( commentaire : ) . notify_pending_correction
end
def notify_pending_correction_sva_correction
commentaire = commentaire ( on : dossier_en_construction ( sva_svr_decision : :sva ) ) . tap { _1 . build_dossier_correction ( kind : :correction ) }
DossierMailer . with ( commentaire : ) . notify_pending_correction
2023-03-14 18:48:19 +01:00
end
2019-12-03 15:51:16 +01:00
def notify_brouillon_near_deletion
2020-03-19 09:49:25 +01:00
DossierMailer . notify_brouillon_near_deletion ( [ dossier ] , usager_email )
2019-12-03 15:51:16 +01:00
end
def notify_brouillons_near_deletion
2020-03-19 09:49:25 +01:00
DossierMailer . notify_brouillon_near_deletion ( [ dossier , dossier ] , usager_email )
end
def notify_en_construction_near_deletion_to_user
2020-04-01 17:08:50 +02:00
DossierMailer . notify_near_deletion_to_user ( [ dossier_en_construction ] , usager_email )
2020-03-19 09:49:25 +01:00
end
def notify_en_construction_near_deletion_to_administration
2020-04-01 17:08:50 +02:00
DossierMailer . notify_near_deletion_to_administration ( [ dossier_en_construction , dossier_en_construction ] , administration_email )
2019-12-03 15:51:16 +01:00
end
2019-11-28 18:03:23 +01:00
2020-04-02 15:05:16 +02:00
def notify_termine_near_deletion_to_user
DossierMailer . notify_near_deletion_to_user ( [ dossier_accepte ] , usager_email )
end
2023-01-03 14:50:36 +01:00
def notify_termine_near_deletion_to_user_multiple
DossierMailer . notify_near_deletion_to_user ( [ dossier_accepte , dossier_accepte ] , usager_email )
end
2020-04-02 15:05:16 +02:00
def notify_termine_near_deletion_to_administration
DossierMailer . notify_near_deletion_to_administration ( [ dossier_accepte , dossier_accepte ] , administration_email )
end
2019-11-28 18:03:23 +01:00
def notify_brouillon_deletion
2020-03-19 09:49:25 +01:00
DossierMailer . notify_brouillon_deletion ( [ dossier . hash_for_deletion_mail ] , usager_email )
2019-11-28 18:03:23 +01:00
end
def notify_brouillons_deletion
dossier_hashes = [ dossier , dossier ] . map ( & :hash_for_deletion_mail )
2020-03-19 09:49:25 +01:00
DossierMailer . notify_brouillon_deletion ( dossier_hashes , usager_email )
end
def notify_deletion_to_administration
2024-06-17 16:33:19 +02:00
DossierMailer . notify_deletion_to_administration ( dossier , administration_email )
2019-11-28 18:03:23 +01:00
end
2020-03-05 17:17:58 +01:00
def notify_automatic_deletion_to_user
2024-06-17 16:33:19 +02:00
DossierMailer . notify_automatic_deletion_to_user ( [ dossier , dossier ] , usager_email )
2020-03-05 17:17:58 +01:00
end
def notify_automatic_deletion_to_administration
2024-06-17 16:33:19 +02:00
DossierMailer . notify_automatic_deletion_to_administration ( [ dossier , dossier ] , administration_email )
2020-03-05 17:17:58 +01:00
end
2020-03-19 03:46:12 +01:00
def notify_brouillon_not_submitted
DossierMailer . notify_brouillon_not_submitted ( draft )
2020-02-05 22:10:22 +01:00
end
2020-03-05 17:17:58 +01:00
2021-09-07 10:36:09 +02:00
def notify_transfer
DossierMailer . notify_transfer ( transfer )
end
2018-12-20 16:49:56 +01:00
private
2020-03-19 09:49:25 +01:00
def usager_email
" usager@example.com "
end
def administration_email
" administration@example.com "
end
2021-09-08 11:40:54 +02:00
def user
User . new ( email : " usager@example.com " , locale : I18n . locale )
end
2018-12-20 16:49:56 +01:00
def deleted_dossier
DeletedDossier . new ( dossier_id : 1 , procedure : procedure )
end
2019-07-17 14:40:17 +02:00
def draft
2022-02-16 18:26:09 +01:00
Dossier . new ( id : 47882 , state : :brouillon , procedure : procedure , user : user )
2019-07-17 14:40:17 +02:00
end
2018-12-20 16:49:56 +01:00
def dossier
2021-09-08 11:40:54 +02:00
Dossier . new ( id : 47882 , state : :en_instruction , procedure : procedure , user : user )
2018-12-20 16:49:56 +01:00
end
2023-06-26 16:03:58 +02:00
def dossier_en_construction ( sva_svr_decision : nil )
local_procedure = procedure
dossier = Dossier . new ( id : 47882 , state : :en_construction , procedure : local_procedure , user : user )
if sva_svr_decision
local_procedure . sva_svr = { decision : sva_svr_decision , period : 2 , unit : :months }
dossier . sva_svr_decision_on = 10 . days . from_now . to_date
end
dossier
2020-04-01 17:08:50 +02:00
end
2020-04-02 15:05:16 +02:00
def dossier_accepte
2021-09-08 11:40:54 +02:00
Dossier . new ( id : 47882 , state : :accepte , procedure : procedure , user : user )
2020-04-02 15:05:16 +02:00
end
2018-12-20 16:49:56 +01:00
def procedure
2020-06-30 17:53:54 +02:00
Procedure . new ( id : 1234 , libelle : 'Dotation d’ Équipement des Territoires Ruraux - Exercice 2019' , service : service , logo : Rack :: Test :: UploadedFile . new ( 'spec/fixtures/files/logo_test_procedure.png' , 'image/png' ) , auto_archive_on : Time . zone . today + Dossier :: REMAINING_DAYS_BEFORE_CLOSING . days )
2019-07-17 14:40:17 +02:00
end
def service
Service . new (
nom : 'Direction du Territoire des Vosges' ,
email : 'prms@ddt.vosges.gouv.fr' ,
telephone : '01 34 22 33 85' ,
horaires : 'Du lundi au vendredi, de 9 h à 18 h'
)
2018-05-29 12:16:22 +02:00
end
2021-09-07 10:36:09 +02:00
def transfer
DossierTransfer . new ( email : usager_email , dossiers : [ dossier , dossier_accepte ] )
end
2022-02-16 18:26:09 +01:00
def commentaire ( on : )
dossier = on
Commentaire . new ( id : 7726 , body : " Bonjour, Vous avez commencé le dépôt d’ un dossier pour une subvention DETR /DSIL. Dans le cas où votre opération n’ aurait pas connu un commencement d’ exécution, vous êtes encouragé(e) à redéposer un nouveau dossier sur le formulaire de cette année. \n La DDT " , dossier : dossier )
end
2018-05-29 12:16:22 +02:00
end