55 lines
1.6 KiB
Ruby
55 lines
1.6 KiB
Ruby
# Sending mails related to events life cycle
|
|
class EventMailer < ApplicationMailer
|
|
helper :events
|
|
|
|
def create(event)
|
|
@event = event
|
|
|
|
mail 'Message-ID' =>
|
|
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
|
|
to: event.submitter,
|
|
subject: subject(event)
|
|
end
|
|
|
|
# Send email to submitter too. Before, only moderators were receiving emails
|
|
# when an event was updated
|
|
def update(event)
|
|
@event = event
|
|
@current_user = User.find_by id: event.paper_trail.originator
|
|
|
|
mail 'In-Reply-To' =>
|
|
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
|
|
to: event.submitter,
|
|
subject: subject(event)
|
|
end
|
|
|
|
def accept(event)
|
|
@event = event
|
|
@current_user = User.find_by id: event.paper_trail.originator
|
|
|
|
mail 'In-Reply-To' =>
|
|
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
|
|
to: event.submitter,
|
|
subject: "#{t 'mail_prefix'}#{t 'event_mailer.accept.subject',
|
|
subject: event.title}"
|
|
end
|
|
|
|
def destroy(event)
|
|
@event = event
|
|
@current_user = User.find_by id: event.paper_trail.originator
|
|
|
|
mail 'In-Reply-To' =>
|
|
"<event-#{event.id}@#{ActionMailer::Base.default_url_options[:host]}>",
|
|
to: event.submitter,
|
|
subject: "#{t 'mail_prefix'}#{t 'event_mailer.destroy.subject',
|
|
subject: event.title}"
|
|
end
|
|
|
|
private
|
|
|
|
def subject(event)
|
|
t('mail_prefix') +
|
|
t("#{mailer_name}.#{action_name}.subject", subject: event.title)
|
|
end
|
|
end
|