2015-12-15 11:02:07 +01:00
|
|
|
|
class NotificationMailer < ApplicationMailer
|
2017-05-11 18:24:43 +02:00
|
|
|
|
default to: Proc.new { @user.email }
|
2017-03-04 09:46:38 +01:00
|
|
|
|
|
2017-10-13 18:35:12 +02:00
|
|
|
|
after_action :create_commentaire_for_notification, only: [:send_notification, :send_dossier_received]
|
|
|
|
|
|
|
|
|
|
def send_dossier_received(dossier_id)
|
|
|
|
|
dossier = Dossier.find(dossier_id)
|
|
|
|
|
send_notification(dossier, dossier.procedure.received_mail_template)
|
|
|
|
|
end
|
2017-05-11 18:07:37 +02:00
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
def send_draft_notification(dossier)
|
2017-03-05 20:20:29 +01:00
|
|
|
|
vars_mailer(dossier)
|
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
@subject = "Retrouvez votre brouillon pour la démarche : #{dossier.procedure.libelle}"
|
2017-03-05 20:20:29 +01:00
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
mail(subject: @subject)
|
2017-03-05 20:20:29 +01:00
|
|
|
|
end
|
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
def send_initiated_notification(dossier)
|
|
|
|
|
send_notification(dossier, dossier.procedure.initiated_mail_template)
|
|
|
|
|
end
|
2017-10-11 15:36:40 +02:00
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
def send_received_notification(dossier)
|
|
|
|
|
send_notification(dossier, dossier.procedure.received_mail_template)
|
|
|
|
|
end
|
2017-10-11 15:36:40 +02:00
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
def send_closed_notification(dossier)
|
|
|
|
|
send_notification(dossier, dossier.procedure.closed_mail_template)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def send_refused_notification(dossier)
|
|
|
|
|
send_notification(dossier, dossier.procedure.refused_mail_template)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def send_without_continuation_notification(dossier)
|
|
|
|
|
send_notification(dossier, dossier.procedure.without_continuation_mail_template)
|
2017-10-11 15:36:40 +02:00
|
|
|
|
end
|
|
|
|
|
|
2017-05-27 01:19:33 +02:00
|
|
|
|
def new_answer(dossier)
|
2018-02-28 16:01:20 +01:00
|
|
|
|
send_mail dossier, "Nouveau message pour votre dossier demarches-simplifiees.fr nº #{dossier.id}"
|
2015-12-15 11:41:50 +01:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
private
|
|
|
|
|
|
2018-05-25 23:08:47 +02:00
|
|
|
|
def send_notification(dossier, mail_template)
|
|
|
|
|
vars_mailer(dossier)
|
|
|
|
|
|
|
|
|
|
@subject = mail_template.subject_for_dossier dossier
|
|
|
|
|
@body = mail_template.body_for_dossier dossier
|
|
|
|
|
|
|
|
|
|
mail(subject: @subject) { |format| format.html { @body } }
|
|
|
|
|
end
|
|
|
|
|
|
2017-05-11 18:07:37 +02:00
|
|
|
|
def create_commentaire_for_notification
|
|
|
|
|
Commentaire.create(
|
|
|
|
|
dossier: @dossier,
|
2017-05-12 14:35:57 +02:00
|
|
|
|
email: I18n.t("dynamics.contact_email"),
|
2018-01-08 17:26:13 +01:00
|
|
|
|
body: ["[#{@subject}]", @body].join("<br><br>")
|
2017-05-11 18:07:37 +02:00
|
|
|
|
)
|
|
|
|
|
end
|
|
|
|
|
|
2017-05-27 01:19:33 +02:00
|
|
|
|
def vars_mailer(dossier)
|
2015-12-15 11:02:07 +01:00
|
|
|
|
@dossier = dossier
|
2015-12-15 11:41:50 +01:00
|
|
|
|
@user = dossier.user
|
|
|
|
|
end
|
|
|
|
|
|
2017-05-27 01:19:33 +02:00
|
|
|
|
def send_mail(dossier, subject)
|
2015-12-15 11:41:50 +01:00
|
|
|
|
vars_mailer dossier
|
2015-12-15 11:02:07 +01:00
|
|
|
|
|
2017-03-04 09:46:38 +01:00
|
|
|
|
mail(subject: subject)
|
2015-12-15 11:02:07 +01:00
|
|
|
|
end
|
|
|
|
|
end
|