77 lines
2.6 KiB
Ruby
77 lines
2.6 KiB
Ruby
class ProjectMailer < ApplicationMailer
|
|
layout 'project_mailer'
|
|
layout false, only: :send_project_invitation
|
|
|
|
def helper_join_request(builders, helper)
|
|
subject = I18n.t('project_join_request', project: helper.project.title)
|
|
@project_helper = helper
|
|
@project = helper.project
|
|
builders.each do |b|
|
|
@user = b.user
|
|
deliver_mail(@user.email, subject, reply_to = nil)
|
|
end
|
|
end
|
|
|
|
def notify_helper_for_join_request(helper)
|
|
return if helper.builder?
|
|
subject = I18n.t('project_join_request_response', project: helper.project.title)
|
|
|
|
@user = helper.user
|
|
@project = helper.project
|
|
@status = helper.status.titlecase
|
|
|
|
deliver_mail(@user.email, subject, reply_to = nil)
|
|
end
|
|
|
|
def ask_request_to_helpers(helper, ask)
|
|
@user = helper.user
|
|
@project_helper = helper
|
|
@ask = ask
|
|
subject = I18n.t('ask_request_to_helpers', project: helper.project.title)
|
|
@project = helper.project
|
|
deliver_mail(helper.user.email, subject, reply_to = nil)
|
|
end
|
|
|
|
def notify_builder_ask_status(ask, status, project_helper)
|
|
@builder = ask.project_helper.user
|
|
@ask = ask
|
|
@status = status
|
|
@project_helper = project_helper
|
|
@project = ask.project
|
|
subject = I18n.t('ask_status_to_builder_subject', project: @project.title, ask: ask.title, status: status)
|
|
deliver_mail(@builder.email, subject, reply_to = nil)
|
|
end
|
|
|
|
def notify_helper_ask_status(ask, status, project_helper)
|
|
# @builder = ask.project_helper.user
|
|
# @ask = ask
|
|
# @status = status
|
|
# @project_helper = project_helper
|
|
# @project = ask.project
|
|
# subject = I18n.t('ask_status_to_builder_subject', project: @project.title, ask: ask.title, status: status)
|
|
# deliver_mail(project_helper.user.email, subject, reply_to = nil)
|
|
end
|
|
|
|
def notify_announcement(project_helper, announcement)
|
|
@user = project_helper.user
|
|
@announcement = announcement
|
|
@project = project_helper.project
|
|
subject = I18n.t('announcement_notification', project: announcement.project.title)
|
|
deliver_mail(project_helper.user.email, subject, reply_to = nil)
|
|
end
|
|
|
|
def notify_monthly_announcement(project)
|
|
emails = project.project_builders.map {|pb| pb.user.email }
|
|
subject = I18n.t('monthly_announcement_check', project: project.title)
|
|
@project = project
|
|
|
|
deliver_mail(emails.join(','), subject, reply_to = nil)
|
|
end
|
|
|
|
def send_project_invitation(email, project)
|
|
@project = project
|
|
subject = I18n.t('project_invitation_subject', project: project.title, builder_name: project.user.first_name)
|
|
deliver_mail(email, subject, reply_to = nil)
|
|
end
|
|
end
|