Merge pull request #235 from sgmap/fix-204

[Fix #204] Add the date_de_decision tag
This commit is contained in:
gregoirenovel 2017-05-04 16:21:06 +02:00 committed by GitHub
commit d563366ba7
6 changed files with 56 additions and 20 deletions

View file

@ -7,6 +7,7 @@ class Admin::MailTemplatesController < AdminController
def edit
@mail_template = find_the_right_mail params[:id]
@mail_template_name = params[:id]
end
def update

View file

@ -5,26 +5,59 @@ module MailTemplateConcern
include ActionView::Helpers::UrlHelper
TAGS = {
numero_dossier: {
description: "Permet d'afficher le numéro de dossier de l'utilisateur."
},
lien_dossier: {
description: "Permet d'afficher un lien vers le dossier de l'utilisateur."
},
libelle_procedure: {
description: "Permet d'afficher le libellé de la procédure."
}
}
numero_dossier: {
description: "Permet d'afficher le numéro de dossier de l'utilisateur.",
templates: [
"initiated_mail",
"received_mail",
"closed_mail",
"refused_mail",
"without_continuation_mail"
]
},
lien_dossier: {
description: "Permet d'afficher un lien vers le dossier de l'utilisateur.",
templates: [
"initiated_mail",
"received_mail",
"closed_mail",
"refused_mail",
"without_continuation_mail"
]
},
libelle_procedure: {
description: "Permet d'afficher le libellé de la procédure.",
templates: [
"initiated_mail",
"received_mail",
"closed_mail",
"refused_mail",
"without_continuation_mail"
]
},
date_de_decision: {
description: "Permet d'afficher la date à laquelle la décision finale (acceptation, refus, classement sans suite) sur le dossier a été prise.",
templates: [
"closed_mail",
"refused_mail",
"without_continuation_mail"
]
}
}
def object_for_dossier dossier
def self.tags_for_template(template)
TAGS.select { |key, value| value[:templates].include?(template) }
end
def object_for_dossier(dossier)
replace_tags(object, dossier)
end
def body_for_dossier dossier
def body_for_dossier(dossier)
replace_tags(body, dossier)
end
def replace_tags string, dossier
def replace_tags(string, dossier)
TAGS.inject(string) do |acc, tag|
acc.gsub!("--#{tag.first}--", replace_tag(tag.first.to_sym, dossier)) || acc
end
@ -43,7 +76,7 @@ module MailTemplateConcern
private
def replace_tag tag, dossier
def replace_tag(tag, dossier)
case tag
when :numero_dossier
dossier.id.to_s
@ -51,6 +84,8 @@ module MailTemplateConcern
link_to users_dossier_recapitulatif_url(dossier), users_dossier_recapitulatif_url(dossier), target: '_blank'
when :libelle_procedure
dossier.procedure.libelle
when :date_de_decision
dossier.processed_at.present? ? dossier.processed_at.strftime("%d/%m/%Y") : ""
else
'--BALISE_NON_RECONNUE--'
end

View file

@ -15,14 +15,14 @@
= f.button :submit, 'Mettre à jour', class: "btn-success"
.row
.col-md-8
.col-md-12
%table.table
%tr
%th
%th.col-md-3
Balise
%th
Description
- MailTemplateConcern::TAGS.each do |balise|
- MailTemplateConcern.tags_for_template(@mail_template_name).each do |balise|
%tr
%td.center
= "--#{balise.first}--"

View file

@ -1,7 +1,7 @@
Bonjour
%br
%br
Votre dossier nº --numero_dossier-- a été accepté.
Votre dossier nº --numero_dossier-- a été accepté le --date_de_decision--.
%br
%br
A tout moment, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--

View file

@ -1,7 +1,7 @@
Bonjour
%br
%br
Votre dossier nº --numero_dossier-- a été refusé.
Votre dossier nº --numero_dossier-- a été refusé le --date_de_decision--.
%br
%br
Pour en savoir plus sur le motif du refus, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--

View file

@ -1,7 +1,7 @@
Bonjour
%br
%br
Votre dossier nº --numero_dossier-- a été classé sans suite.
Votre dossier nº --numero_dossier-- a été classé sans suite le --date_de_decision--.
%br
%br
Pour en savoir plus sur les raisons de ce classement sans suite, vous pouvez consulter le contenu de vos dossiers et les éventuels commentaires de l'administration à cette adresse : --lien_dossier--