bettermail/portal/app/mailers/project_mailer.rb
2022-11-12 02:27:46 +01:00

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