Skip to content
Extraits de code Groupes Projets
Valider a3760b57 rédigé par echarp's avatar echarp
Parcourir les fichiers

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

parent 9911dc06
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
ActiveAdmin.register I18n::Backend::ActiveRecord::Translation do ActiveAdmin.register I18n::Backend::ActiveRecord::Translation do
permit_params :key, :value permit_params :locale, :key, :value
form do |f| form do |f|
f.inputs do f.inputs do
f.input :locale
f.input :key f.input :key
f.input :value, as: :pagedown_text f.input :value, as: :pagedown_text
f.actions f.actions
......
...@@ -8,7 +8,8 @@ class EventMailer < ActionMailer::Base ...@@ -8,7 +8,8 @@ class EventMailer < ActionMailer::Base
mail 'Message-ID' => mail 'Message-ID' =>
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.submitter, 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 end
def accept(event, current_user) def accept(event, current_user)
...@@ -18,7 +19,8 @@ class EventMailer < ActionMailer::Base ...@@ -18,7 +19,8 @@ class EventMailer < ActionMailer::Base
mail 'In-Reply-To' => mail 'In-Reply-To' =>
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.submitter, 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 end
def destroy(event, current_user, reason) def destroy(event, current_user, reason)
...@@ -29,6 +31,7 @@ class EventMailer < ActionMailer::Base ...@@ -29,6 +31,7 @@ class EventMailer < ActionMailer::Base
mail 'In-Reply-To' => mail 'In-Reply-To' =>
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.submitter, 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
end end
...@@ -7,7 +7,8 @@ class ModerationMailer < ActionMailer::Base ...@@ -7,7 +7,8 @@ class ModerationMailer < ActionMailer::Base
mail 'Message-ID' => mail 'Message-ID' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<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 end
def update(older_event, event, current_user) def update(older_event, event, current_user)
...@@ -17,7 +18,8 @@ class ModerationMailer < ActionMailer::Base ...@@ -17,7 +18,8 @@ class ModerationMailer < ActionMailer::Base
mail 'In-Reply-To' => mail 'In-Reply-To' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<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 end
def accept(event, current_user) def accept(event, current_user)
...@@ -26,7 +28,8 @@ class ModerationMailer < ActionMailer::Base ...@@ -26,7 +28,8 @@ class ModerationMailer < ActionMailer::Base
mail 'In-Reply-To' => mail 'In-Reply-To' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<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 end
def destroy(event, current_user, reason) def destroy(event, current_user, reason)
...@@ -36,6 +39,7 @@ class ModerationMailer < ActionMailer::Base ...@@ -36,6 +39,7 @@ class ModerationMailer < ActionMailer::Base
mail 'In-Reply-To' => mail 'In-Reply-To' =>
"<mod-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<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
end end
...@@ -9,7 +9,8 @@ class NoteMailer < ActionMailer::Base ...@@ -9,7 +9,8 @@ class NoteMailer < ActionMailer::Base
"<event-#{note.event.id}@" \ "<event-#{note.event.id}@" \
+ "#{ActionMailer::Base.default_url_options[:host]}>", + "#{ActionMailer::Base.default_url_options[:host]}>",
to: note.event.submitter, 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 end
def create(note) def create(note)
...@@ -17,6 +18,7 @@ class NoteMailer < ActionMailer::Base ...@@ -17,6 +18,7 @@ class NoteMailer < ActionMailer::Base
mail 'In-Reply-To' => mail 'In-Reply-To' =>
"<mod-#{note.event.id}@#{ActionMailer::Base.default_url_options[:host]}>", "<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
end end
...@@ -304,7 +304,7 @@ Exemple: `%{daylimit}`" ...@@ -304,7 +304,7 @@ Exemple: `%{daylimit}`"
event_mailer: event_mailer:
create: create:
subject: "[Agenda du Libre] Votre événement: '%{subject}' est en attente subject: "Votre événement: '%{subject}' est en attente
de modération" de modération"
title: Bonjour, title: Bonjour,
body: "Votre événement intitulé '%{subject}', body: "Votre événement intitulé '%{subject}',
...@@ -316,7 +316,7 @@ pouvez éditer votre événement à l'adresse:" ...@@ -316,7 +316,7 @@ pouvez éditer votre événement à l'adresse:"
delete_link: "et vous pouvez l'annuler en utilisant l'adresse:" delete_link: "et vous pouvez l'annuler en utilisant l'adresse:"
signature: "Merci de votre participation!\n\n-- \nAgenda du Libre" signature: "Merci de votre participation!\n\n-- \nAgenda du Libre"
accept: accept:
subject: "[Agenda du Libre] Événement '%{subject}' modéré" subject: "Événement '%{subject}' modéré"
title: Bonjour, title: Bonjour,
body: "L'événement que vous avez soumis a été modéré par %{moderator}. Il body: "L'événement que vous avez soumis a été modéré par %{moderator}. Il
est maintenant visible dans l'Agenda à l'adresse:" est maintenant visible dans l'Agenda à l'adresse:"
...@@ -327,7 +327,7 @@ pouvez éditer votre événement à l'adresse:" ...@@ -327,7 +327,7 @@ pouvez éditer votre événement à l'adresse:"
signature: "Merci de votre contribution à l'Agenda du Libre et à signature: "Merci de votre contribution à l'Agenda du Libre et à
bientôt!\n\n-- \nL'équipe de modération" bientôt!\n\n-- \nL'équipe de modération"
destroy: destroy:
subject: "[Agenda du Libre] Événement '%{subject}' refusé" subject: "Événement '%{subject}' refusé"
title: Bonjour, title: Bonjour,
body: Vous avez soumis l'événement suivant dans l'Agenda du Libre, et body: Vous avez soumis l'événement suivant dans l'Agenda du Libre, et
nous vous remercions de cette contribution. nous vous remercions de cette contribution.
...@@ -338,25 +338,25 @@ pouvez éditer votre événement à l'adresse:" ...@@ -338,25 +338,25 @@ pouvez éditer votre événement à l'adresse:"
\nL'équipe de modération" \nL'équipe de modération"
moderation_mailer: moderation_mailer:
create: create:
subject: "[Agenda du Libre] Nouvel événement à modérer: '%{subject}'" subject: "Nouvel événement à modérer: '%{subject}'"
title: Bonjour, title: Bonjour,
body: Un nouvel événement est à modérer sur body: Un nouvel événement est à modérer sur
signature: "Merci!\n\n-- \nAgenda du Libre" signature: "Merci!\n\n-- \nAgenda du Libre"
update: update:
subject: "[Agenda du Libre] Édition de l'événement '%{subject}'" subject: "Édition de l'événement '%{subject}'"
title: Bonjour, title: Bonjour,
body: "L'événement '%{subject}' a été modifié par body: "L'événement '%{subject}' a été modifié par
%{author}.\n\nModifications apportées:" %{author}.\n\nModifications apportées:"
submitter: le soumetteur submitter: le soumetteur
signature: "Bonne journée\n\n-- \nL'équipe de modération" signature: "Bonne journée\n\n-- \nL'équipe de modération"
accept: accept:
subject: "[Agenda du Libre] Événement '%{subject}' modéré" subject: "Événement '%{subject}' modéré"
title: Bonjour, title: Bonjour,
body: L'événement a été modéré par %{author}. body: L'événement a été modéré par %{author}.
access: "Vous pouvez le consulter ici:" access: "Vous pouvez le consulter ici:"
signature: "-- \nL'équipe de modération" signature: "-- \nL'équipe de modération"
destroy: destroy:
subject: "[Agenda du Libre] Événement '%{subject}' refusé" subject: "Événement '%{subject}' refusé"
title: Bonjour, title: Bonjour,
body: "L'événement '%{subject}' a été rejeté par %{author} pour la raison body: "L'événement '%{subject}' a été rejeté par %{author} pour la raison
suivante:\n\n" suivante:\n\n"
...@@ -364,7 +364,7 @@ pouvez éditer votre événement à l'adresse:" ...@@ -364,7 +364,7 @@ pouvez éditer votre événement à l'adresse:"
signature: "-- \nL'équipe des modérateurs de l'Agenda du Libre" signature: "-- \nL'équipe des modérateurs de l'Agenda du Libre"
note_mailer: note_mailer:
notify: notify:
subject: "[Agenda du Libre] Demande d'informations sur l'événement '%{subject}'" subject: "Demande d'informations sur l'événement '%{subject}'"
title: Bonjour, title: Bonjour,
body: "Nous avons bien reçu votre proposition d'événement '%{subject}', 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 \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:" ...@@ -375,7 +375,7 @@ pouvez éditer votre événement à l'adresse:"
signature: "Avec tous nos remerciements pour votre contribution,\n\n-- signature: "Avec tous nos remerciements pour votre contribution,\n\n--
\nL'équipe des modérateurs de l'Agenda du Libre" \nL'équipe des modérateurs de l'Agenda du Libre"
create: 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, title: Bonjour,
body: "Une note a été rajoutée à '%{subject}':" body: "Une note a été rajoutée à '%{subject}':"
signature: "-- \nL'équipe de modération" signature: "-- \nL'équipe de modération"
...@@ -20,6 +20,8 @@ AdminUser.create email: 'admin@example.com', password: 'password' ...@@ -20,6 +20,8 @@ AdminUser.create email: 'admin@example.com', password: 'password'
# rubocop:disable Metrics/LineLength # rubocop:disable Metrics/LineLength
I18n::Backend::ActiveRecord::Translation.create([ I18n::Backend::ActiveRecord::Translation.create([
{ locale: 'fr', key: 'mail_suffix', value: '[AdL] ' },
{ locale: 'fr', key: 'layouts.application.subtitle', { locale: 'fr', key: 'layouts.application.subtitle',
value: 'Les événements du Libre en France' }, value: 'Les événements du Libre en France' },
......
...@@ -8,7 +8,7 @@ class ModerationMailerTest < ActionMailer::TestCase ...@@ -8,7 +8,7 @@ class ModerationMailerTest < ActionMailer::TestCase
test 'create' do test 'create' do
mail = ModerationMailer.create Event.unscoped.last 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) mail.subject)
assert_equal ['moderateurs@agendadulibre.org'], mail.to assert_equal ['moderateurs@agendadulibre.org'], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_equal ['moderateurs@agendadulibre.org'], mail.from
...@@ -24,7 +24,7 @@ class ModerationMailerTest < ActionMailer::TestCase ...@@ -24,7 +24,7 @@ class ModerationMailerTest < ActionMailer::TestCase
hello world' hello world'
mail = ModerationMailer.update older_event, event, User.last 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.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_equal ['moderateurs@agendadulibre.org'], mail.from
assert_match(/^{/, mail.body.to_s) assert_match(/^{/, mail.body.to_s)
...@@ -32,7 +32,7 @@ hello world' ...@@ -32,7 +32,7 @@ hello world'
test 'accept' do test 'accept' do
mail = ModerationMailer.accept Event.unscoped.last, User.last 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.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_equal ['moderateurs@agendadulibre.org'], mail.from
end end
...@@ -40,7 +40,7 @@ hello world' ...@@ -40,7 +40,7 @@ hello world'
test 'destroy' do test 'destroy' do
mail = ModerationMailer.destroy Event.unscoped.last, User.last, mail = ModerationMailer.destroy Event.unscoped.last, User.last,
'hello world' '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.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_equal ['moderateurs@agendadulibre.org'], mail.from
end end
......
...@@ -9,7 +9,7 @@ class NoteMailerTest < ActionMailer::TestCase ...@@ -9,7 +9,7 @@ class NoteMailerTest < ActionMailer::TestCase
test 'notify' do test 'notify' do
mail = NoteMailer.notify Note.last 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) mail.subject)
assert_equal [Note.last.event.contact], mail.to assert_equal [Note.last.event.contact], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_equal ['moderateurs@agendadulibre.org'], mail.from
...@@ -17,7 +17,7 @@ class NoteMailerTest < ActionMailer::TestCase ...@@ -17,7 +17,7 @@ class NoteMailerTest < ActionMailer::TestCase
test 'create' do test 'create' do
mail = NoteMailer.create Note.last 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) mail.subject)
assert_not_equal [Note.last.event.contact], mail.to assert_not_equal [Note.last.event.contact], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from assert_equal ['moderateurs@agendadulibre.org'], mail.from
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter