30 lines
938 B
Ruby
30 lines
938 B
Ruby
class ReportMailer < ActionMailer::Base
|
|
default :from => AppConfig.mail.sender_address
|
|
|
|
def new_report(type, id)
|
|
resource = {
|
|
:url => report_index_url,
|
|
:type => I18n.t('notifier.report_email.type.' + type),
|
|
:id => id
|
|
}
|
|
|
|
Role.admins.each do |role|
|
|
person = Person.find(role.person_id)
|
|
if person.local?
|
|
user = User.find_by_id(person.owner_id)
|
|
unless user.user_preferences.exists?(:email_type => :someone_reported)
|
|
resource[:email] = user.email
|
|
format(resource)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
private
|
|
def format(resource)
|
|
mail(to: resource[:email], subject: I18n.t('notifier.report_email.subject', :type => resource[:type])) do |format|
|
|
format.html { render 'report/report_email', :locals => { :resource => resource } }
|
|
format.text { render 'report/report_email', :locals => { :resource => resource } }
|
|
end
|
|
end
|
|
end
|