Utilisation d'un suffixe pour les mails, par exemple [AdL], qui perme de modifier par instance

This commit is contained in:
echarp 2014-08-17 22:43:54 +02:00
parent 9911dc0658
commit a3760b57b8
8 changed files with 37 additions and 25 deletions

View File

@ -1,8 +1,9 @@
ActiveAdmin.register I18n::Backend::ActiveRecord::Translation do
permit_params :key, :value
permit_params :locale, :key, :value
form do |f|
f.inputs do
f.input :locale
f.input :key
f.input :value, as: :pagedown_text
f.actions

View File

@ -8,7 +8,8 @@ class EventMailer < ActionMailer::Base
mail 'Message-ID' =>
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.submitter,
subject: t('event_mailer.create.subject', subject: event.title)
subject: t('mail_suffix') +
t('event_mailer.create.subject', subject: event.title)
end
def accept(event, current_user)
@ -18,7 +19,8 @@ class EventMailer < ActionMailer::Base
mail 'In-Reply-To' =>
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.submitter,
subject: t('event_mailer.accept.subject', subject: event.title)
subject: t('mail_suffix') +
t('event_mailer.accept.subject', subject: event.title)
end
def destroy(event, current_user, reason)
@ -29,6 +31,7 @@ class EventMailer < ActionMailer::Base
mail 'In-Reply-To' =>
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.submitter,
subject: t('event_mailer.destroy.subject', subject: event.title)
subject: t('mail_suffix') +
t('event_mailer.destroy.subject', subject: event.title)
end
end

View File

@ -7,7 +7,8 @@ class ModerationMailer < ActionMailer::Base
mail 'Message-ID' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
subject: t('moderation_mailer.create.subject', subject: event.title)
subject: t('mail_suffix') +
t('moderation_mailer.create.subject', subject: event.title)
end
def update(older_event, event, current_user)
@ -17,7 +18,8 @@ class ModerationMailer < ActionMailer::Base
mail 'In-Reply-To' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
subject: t('moderation_mailer.update.subject', subject: event.title)
subject: t('mail_suffix') +
t('moderation_mailer.update.subject', subject: event.title)
end
def accept(event, current_user)
@ -26,7 +28,8 @@ class ModerationMailer < ActionMailer::Base
mail 'In-Reply-To' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
subject: t('moderation_mailer.accept.subject', subject: event.title)
subject: t('mail_suffix') +
t('moderation_mailer.accept.subject', subject: event.title)
end
def destroy(event, current_user, reason)
@ -36,6 +39,7 @@ class ModerationMailer < ActionMailer::Base
mail 'In-Reply-To' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
subject: t('moderation_mailer.destroy.subject', subject: event.title)
subject: t('mail_suffix') +
t('moderation_mailer.destroy.subject', subject: event.title)
end
end

View File

@ -9,7 +9,8 @@ class NoteMailer < ActionMailer::Base
"<event-#{note.event.id}@" \
+ "#{ActionMailer::Base.default_url_options[:host]}>",
to: note.event.submitter,
subject: t('note_mailer.notify.subject', subject: note.event.title)
subject: t('mail_suffix') +
t('note_mailer.notify.subject', subject: note.event.title)
end
def create(note)
@ -17,6 +18,7 @@ class NoteMailer < ActionMailer::Base
mail 'In-Reply-To' =>
"<mod-#{note.event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
subject: t('note_mailer.create.subject', subject: note.event.title)
subject: t('mail_suffix') +
t('note_mailer.create.subject', subject: note.event.title)
end
end

View File

@ -304,7 +304,7 @@ Exemple: `%{daylimit}`"
event_mailer:
create:
subject: "[Agenda du Libre] Votre événement: '%{subject}' est en attente
subject: "Votre événement: '%{subject}' est en attente
de modération"
title: Bonjour,
body: "Votre événement intitulé '%{subject}',
@ -316,7 +316,7 @@ pouvez éditer votre événement à l'adresse:"
delete_link: "et vous pouvez l'annuler en utilisant l'adresse:"
signature: "Merci de votre participation!\n\n-- \nAgenda du Libre"
accept:
subject: "[Agenda du Libre] Événement '%{subject}' modéré"
subject: "Événement '%{subject}' modéré"
title: Bonjour,
body: "L'événement que vous avez soumis a été modéré par %{moderator}. Il
est maintenant visible dans l'Agenda à l'adresse:"
@ -327,7 +327,7 @@ pouvez éditer votre événement à l'adresse:"
signature: "Merci de votre contribution à l'Agenda du Libre et à
bientôt!\n\n-- \nL'équipe de modération"
destroy:
subject: "[Agenda du Libre] Événement '%{subject}' refusé"
subject: "Événement '%{subject}' refusé"
title: Bonjour,
body: Vous avez soumis l'événement suivant dans l'Agenda du Libre, et
nous vous remercions de cette contribution.
@ -338,25 +338,25 @@ pouvez éditer votre événement à l'adresse:"
\nL'équipe de modération"
moderation_mailer:
create:
subject: "[Agenda du Libre] Nouvel événement à modérer: '%{subject}'"
subject: "Nouvel événement à modérer: '%{subject}'"
title: Bonjour,
body: Un nouvel événement est à modérer sur
signature: "Merci!\n\n-- \nAgenda du Libre"
update:
subject: "[Agenda du Libre] Édition de l'événement '%{subject}'"
subject: "Édition de l'événement '%{subject}'"
title: Bonjour,
body: "L'événement '%{subject}' a été modifié par
%{author}.\n\nModifications apportées:"
submitter: le soumetteur
signature: "Bonne journée\n\n-- \nL'équipe de modération"
accept:
subject: "[Agenda du Libre] Événement '%{subject}' modéré"
subject: "Événement '%{subject}' modéré"
title: Bonjour,
body: L'événement a été modéré par %{author}.
access: "Vous pouvez le consulter ici:"
signature: "-- \nL'équipe de modération"
destroy:
subject: "[Agenda du Libre] Événement '%{subject}' refusé"
subject: "Événement '%{subject}' refusé"
title: Bonjour,
body: "L'événement '%{subject}' a été rejeté par %{author} pour la raison
suivante:\n\n"
@ -364,7 +364,7 @@ pouvez éditer votre événement à l'adresse:"
signature: "-- \nL'équipe des modérateurs de l'Agenda du Libre"
note_mailer:
notify:
subject: "[Agenda du Libre] Demande d'informations sur l'événement '%{subject}'"
subject: "Demande d'informations sur l'événement '%{subject}'"
title: Bonjour,
body: "Nous avons bien reçu votre proposition d'événement '%{subject}',
\net celui-ci a toute sa place dans l'Agenda du Libre. Néanmoins, avant
@ -375,7 +375,7 @@ pouvez éditer votre événement à l'adresse:"
signature: "Avec tous nos remerciements pour votre contribution,\n\n--
\nL'équipe des modérateurs de l'Agenda du Libre"
create:
subject: "[Agenda du Libre] Une note a été rajoutée à l'événement '%{subject}'"
subject: "Une note a été rajoutée à l'événement '%{subject}'"
title: Bonjour,
body: "Une note a été rajoutée à '%{subject}':"
signature: "-- \nL'équipe de modération"

View File

@ -20,6 +20,8 @@ AdminUser.create email: 'admin@example.com', password: 'password'
# rubocop:disable Metrics/LineLength
I18n::Backend::ActiveRecord::Translation.create([
{ locale: 'fr', key: 'mail_suffix', value: '[AdL] ' },
{ locale: 'fr', key: 'layouts.application.subtitle',
value: 'Les événements du Libre en France' },

View File

@ -8,7 +8,7 @@ class ModerationMailerTest < ActionMailer::TestCase
test 'create' do
mail = ModerationMailer.create Event.unscoped.last
assert_match(/\[Agenda du Libre\] Nouvel événement à modérer: .*/,
assert_match(/Nouvel événement à modérer: .*/,
mail.subject)
assert_equal ['moderateurs@agendadulibre.org'], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from
@ -24,7 +24,7 @@ class ModerationMailerTest < ActionMailer::TestCase
hello world'
mail = ModerationMailer.update older_event, event, User.last
assert_match(/\[Agenda du Libre\] Édition de l'événement .*/, mail.subject)
assert_match(/Édition de l'événement .*/, mail.subject)
assert_equal ['moderateurs@agendadulibre.org'], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from
assert_match(/^{/, mail.body.to_s)
@ -32,7 +32,7 @@ hello world'
test 'accept' do
mail = ModerationMailer.accept Event.unscoped.last, User.last
assert_match(/\[Agenda du Libre\] Événement .* modéré/, mail.subject)
assert_match(/Événement .* modéré/, mail.subject)
assert_equal ['moderateurs@agendadulibre.org'], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from
end
@ -40,7 +40,7 @@ hello world'
test 'destroy' do
mail = ModerationMailer.destroy Event.unscoped.last, User.last,
'hello world'
assert_match(/\[Agenda du Libre\] Événement .* refusé/, mail.subject)
assert_match(/Événement .* refusé/, mail.subject)
assert_equal ['moderateurs@agendadulibre.org'], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from
end

View File

@ -9,7 +9,7 @@ class NoteMailerTest < ActionMailer::TestCase
test 'notify' do
mail = NoteMailer.notify Note.last
assert_match(/\[Agenda du Libre\] Demande d'informations sur l'événement.*/,
assert_match(/Demande d'informations sur l'événement.*/,
mail.subject)
assert_equal [Note.last.event.contact], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from
@ -17,7 +17,7 @@ class NoteMailerTest < ActionMailer::TestCase
test 'create' do
mail = NoteMailer.create Note.last
assert_match(/\[Agenda du Libre\] Une note a été rajoutée à l'événement.*/,
assert_match(/Une note a été rajoutée à l'événement.*/,
mail.subject)
assert_not_equal [Note.last.event.contact], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from