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

Envoi de mail aux modérateurs en cas de modification d'événement. Envoi de...

Envoi de mail aux modérateurs en cas de modification d'événement. Envoi de mail au soumetteur quand événement modéré
parent f8a4c06c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -81,7 +81,7 @@ class EventsController < ApplicationController
respond_to do |format|
if @event.update event_params
# Send an update mail to moderators
EventMailer.update(@event).deliver
ModerationMailer.update(@moderation, nil).deliver
format.html { redirect_to :root, notice: t('.ok') }
format.json { head :no_content }
......
......@@ -20,7 +20,7 @@ class ModerationsController < ApplicationController
respond_to do |format|
if @moderation.update(moderation_params)
# Send an update mail to its author
# Send an update mail to moderators
ModerationMailer.update(@moderation, current_user).deliver
format.html { redirect_to moderations_path, notice: t('.ok') }
......
class EventMailer < ActionMailer::Base
default from: 'moderateurs@agendadulibre.org'
default to: 'moderateurs@agendadulibre.org'
def create(event)
@event = event
......@@ -10,10 +9,12 @@ class EventMailer < ActionMailer::Base
subject: t('event_mailer.create.subject', subject: event.title)
end
def update(event)
def accept(event, current_user)
@event = event
@current_user = current_user
mail 'In-Reply-To' => "<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
subject: t('event_mailer.update.subject', subject: event.title)
mail 'Message-ID' => "<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
to: event.contact,
subject: t('event_mailer.accept.subject', subject: event.title)
end
end
=t '.title'
\
=t '.body', moderator: @current_user
= event_url @event
\
=t '.edit_link'
= edit_event_url @event, secret: @event.secret
\
=t '.delete_link'
= cancel_event_url @event, secret: @event.secret
\
=====================================================
#{Event.human_attribute_name :title}: #{@event.title}
#{Event.human_attribute_name :start_time}: #{l @event.start_time, format: :at}
#{Event.human_attribute_name :end_time}: #{l @event.end_time, format: :at}
#{Event.human_attribute_name :region}: #{@event.region}
#{Event.human_attribute_name :city}: #{@event.city}
#{Event.human_attribute_name :url}: #{@event.url}
#{Event.human_attribute_name :contact}: #{@event.contact}
#{Event.human_attribute_name :submitter}: #{@event.submitter}
#{Event.human_attribute_name :tags}: #{@event.tags}
#{Event.human_attribute_name :description}: #{raw @event.description}
=====================================================
\
=t '.signature'
=t '.title'
\
=t '.body', subject: @event.title
- Differ.format = :ascii
= raw Differ.diff(@event.description, @event.description_was).to_s |
.gsub(/\[31m/, '') |
.gsub(/\[32m/, '') |
.gsub(/\[0m/, '') |
\
= edit_moderation_url @event
\
=t '.signature'
=t '.title'
\
=t '.body', subject: @event.title, author: @current_user
=t '.body', subject: @event.title, author: @current_user||t('.submitter')
- Differ.format = :ascii
= raw Differ.diff(@event.description, @event.description_was).to_s |
......
......@@ -254,11 +254,13 @@ fr:
\n\nPendant la modération et après celle-ci si votre évènement est validé, vous 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"
update:
subject: "[Agenda du Libre] Édition de l'évènement '%{subject}'"
accept:
subject: "[Agenda du Libre] Évènement '%{subject}' modéré"
title: Bonjour,
body: "L'évènement '%{subject}' a été modifié par le soumetteur de l'évènement\n\nModifications apportées:"
signature: "Bonne journée\n\n-- \nL'équipe de modération"
body: "L'évènement que vous avez soumis a été modéré par %{moderator}. Il est maintenant visible dans l'Agenda à l'adresse:"
edit_link: "Vous pouvez modifier cet évènement ultérieurement pour y ajouter des précisions en vous rendant à l'adresse:"
delete_link: "Vous pouvez également l'annuler en vous rendant à l'adresse:"
signature: "Merci de votre contribution à l'Agenda du Libre et à bientôt!\n\n-- \nL'équipe de modération"
moderation_mailer:
create:
subject: "[Agenda du Libre] Nouvel évènement à modérer: '%{subject}'"
......@@ -268,7 +270,8 @@ fr:
update:
subject: "[Agenda du Libre] Édition de l'évènement '%{subject}'"
title: Bonjour,
body: "L'évènement '%{subject}' a été modifié par %{author}\n\nModifications apportées:"
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é"
......
......@@ -13,10 +13,10 @@ class EventMailerTest < ActionMailer::TestCase
assert_match(/Bonjour.*/, mail.body.encoded)
end
test 'update' do
mail = EventMailer.update Event.last
assert_match(/\[Agenda du Libre\] Édition de l'évènement .*/, mail.subject)
assert_equal ['moderateurs@agendadulibre.org'], mail.to
test 'accept' do
mail = EventMailer.accept Event.last
assert_match(/\[Agenda du Libre\] Évènement: .* modéré/, mail.subject)
assert_equal [Event.last.contact], mail.to
assert_equal ['moderateurs@agendadulibre.org'], mail.from
end
end
......@@ -7,9 +7,9 @@ class EventMailerPreview < ActionMailer::Preview
EventMailer.create Event.last
end
# Preview this email at http://localhost:3000/rails/mailers/event_mailer/update
def update
# Preview this email at http://localhost:3000/rails/mailers/event_mailer/accept
def accept
ActionMailer::Base.default_url_options[:host] = 'localhost:3000'
EventMailer.update Event.last
EventMailer.accept Event.last, User.last
end
end
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