2018-05-07 16:47:29 -07:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2021-04-13 11:03:37 +08:00
|
|
|
EMAIL_TEMPLATE = 'email_template'
|
|
|
|
|
|
2021-04-12 14:01:49 +08:00
|
|
|
SNAPCON_BCC_ADDRESS = Rails.configuration.mailbot[:bcc_address]
|
|
|
|
|
YTLF_TICKET_ID = Rails.configuration.mailbot[:ytlf_ticket_id]
|
2020-02-20 22:04:09 -08:00
|
|
|
|
2013-01-14 08:49:49 +01:00
|
|
|
class Mailbot < ActionMailer::Base
|
2021-03-12 00:14:29 -08:00
|
|
|
helper ConferenceHelper
|
|
|
|
|
|
2021-03-23 02:21:31 -07:00
|
|
|
default bcc: SNAPCON_BCC_ADDRESS,
|
|
|
|
|
template_name: EMAIL_TEMPLATE,
|
|
|
|
|
content_type: 'text/html',
|
2021-03-11 23:39:06 -08:00
|
|
|
to: -> { @user.email },
|
|
|
|
|
from: -> { @conference.contact.email }
|
2021-03-10 20:13:49 -08:00
|
|
|
|
2016-04-21 16:36:53 +02:00
|
|
|
def registration_mail(conference, user)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = user
|
|
|
|
|
@conference = conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_email_on_conf_updates(@conference, @user, @conference.email_settings.registration_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.registration_subject)
|
2013-01-14 08:49:49 +01:00
|
|
|
end
|
|
|
|
|
|
2017-07-17 21:22:53 +05:30
|
|
|
def ticket_confirmation_mail(ticket_purchase)
|
|
|
|
|
@ticket_purchase = ticket_purchase
|
|
|
|
|
@user = ticket_purchase.user
|
2021-03-10 23:09:52 -08:00
|
|
|
@conference = ticket_purchase.conference
|
2017-07-17 21:22:53 +05:30
|
|
|
|
|
|
|
|
PhysicalTicket.last(ticket_purchase.quantity).each do |physical_ticket|
|
|
|
|
|
pdf = TicketPdf.new(@conference, @user, physical_ticket, @conference.ticket_layout.to_sym, "ticket_for_#{@conference.short_title}_#{physical_ticket.id}")
|
2017-08-04 04:01:42 -05:00
|
|
|
attachments["ticket_for_#{@conference.short_title}_#{physical_ticket.id}.pdf"] = pdf.render
|
2017-07-17 21:22:53 +05:30
|
|
|
end
|
|
|
|
|
|
2020-07-01 01:27:15 -07:00
|
|
|
template_name = 'ticket_confirmation_template'
|
2020-07-06 00:58:59 -07:00
|
|
|
if @ticket_purchase.ticket_id == YTLF_TICKET_ID
|
2020-07-01 01:27:15 -07:00
|
|
|
template_name = 'young_thinkers_ticket_confirmation_template'
|
|
|
|
|
end
|
|
|
|
|
|
2021-03-10 23:09:52 -08:00
|
|
|
mail(subject: "#{@conference.title} | Ticket Confirmation and PDF!",
|
|
|
|
|
template_name: template_name)
|
2017-07-17 21:22:53 +05:30
|
|
|
end
|
|
|
|
|
|
2013-01-17 13:56:05 +01:00
|
|
|
def acceptance_mail(event)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = event.submitter
|
|
|
|
|
@conference = event.program.conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_event_mail(event, @conference.email_settings.accepted_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.accepted_subject)
|
2013-01-14 08:49:49 +01:00
|
|
|
end
|
|
|
|
|
|
2018-08-22 16:08:39 +03:00
|
|
|
def submitted_proposal_mail(event)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = event.submitter
|
|
|
|
|
@conference = event.program.conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_event_mail(event, @conference.email_settings.submitted_proposal_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.submitted_proposal_subject)
|
2018-08-22 16:08:39 +03:00
|
|
|
end
|
|
|
|
|
|
2013-01-17 13:56:05 +01:00
|
|
|
def rejection_mail(event)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = event.submitter
|
|
|
|
|
@conference = event.program.conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_event_mail(event, @conference.email_settings.rejected_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.rejected_subject)
|
2013-01-17 13:56:05 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def confirm_reminder_mail(event)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = event.submitter
|
|
|
|
|
@conference = event.program.conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_event_mail(event, @conference.email_settings.confirmed_without_registration_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.confirmed_without_registration_subject)
|
2013-01-14 08:49:49 +01:00
|
|
|
end
|
|
|
|
|
|
2021-03-12 00:14:29 -08:00
|
|
|
def conference_date_update_mail(conference, user)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = user
|
2021-03-12 00:14:29 -08:00
|
|
|
@conference = conference
|
2021-03-10 23:09:52 -08:00
|
|
|
@email_body = @conference.email_settings.generate_email_on_conf_updates(@conference, @user, @conference.email_settings.conference_dates_updated_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.conference_dates_updated_subject)
|
2014-07-08 15:42:35 +05:30
|
|
|
end
|
|
|
|
|
|
2016-04-21 15:38:44 +02:00
|
|
|
def conference_registration_date_update_mail(conference, user)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = user
|
|
|
|
|
@conference = conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_email_on_conf_updates(@conference, @user, @conference.email_settings.conference_registration_dates_updated_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.conference_registration_dates_updated_subject)
|
2014-07-10 22:11:27 +05:30
|
|
|
end
|
|
|
|
|
|
2016-04-21 16:03:09 +02:00
|
|
|
def conference_venue_update_mail(conference, user)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = user
|
|
|
|
|
@conference = conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_email_on_conf_updates(@conference, @user, @conference.email_settings.venue_updated_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(subject: @conference.email_settings.venue_updated_subject)
|
2014-07-17 15:59:44 +05:30
|
|
|
end
|
|
|
|
|
|
2016-04-21 16:16:16 +02:00
|
|
|
def conference_schedule_update_mail(conference, user)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = user
|
|
|
|
|
@conference = conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_email_on_conf_updates(@conference, @user, @conference.email_settings.program_schedule_public_body)
|
2021-02-19 17:01:24 +08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(bcc: nil,
|
|
|
|
|
subject: @conference.email_settings.program_schedule_public_subject)
|
2014-07-17 15:59:44 +05:30
|
|
|
end
|
|
|
|
|
|
2016-04-21 16:26:37 +02:00
|
|
|
def conference_cfp_update_mail(conference, user)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = user
|
|
|
|
|
@conference = conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_email_on_conf_updates(@conference, @user, @conference.email_settings.cfp_dates_updated_body)
|
2021-02-24 22:17:47 -08:00
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(bcc: nil,
|
|
|
|
|
subject: @conference.email_settings.cfp_dates_updated_subject)
|
2014-07-15 19:07:22 +05:30
|
|
|
end
|
|
|
|
|
|
2017-08-02 20:10:47 +03:00
|
|
|
def conference_booths_acceptance_mail(booth)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = booth.submitter
|
|
|
|
|
@conference = booth.conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_booth_mail(booth, @conference.email_settings.booths_acceptance_body)
|
|
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(bcc: nil,
|
|
|
|
|
subject: @conference.email_settings.booths_acceptance_subject)
|
2017-08-02 20:10:47 +03:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def conference_booths_rejection_mail(booth)
|
2021-03-10 23:09:52 -08:00
|
|
|
@user = booth.submitter
|
|
|
|
|
@conference = booth.conference
|
|
|
|
|
@email_body = @conference.email_settings.generate_booth_mail(booth, @conference.email_settings.booths_rejection_body)
|
|
|
|
|
|
2021-03-11 23:39:06 -08:00
|
|
|
mail(bcc: nil,
|
|
|
|
|
subject: @conference.email_settings.booths_rejection_subject)
|
2017-08-02 20:10:47 +03:00
|
|
|
end
|
|
|
|
|
|
2016-04-22 11:29:38 +02:00
|
|
|
def event_comment_mail(comment, user)
|
2015-07-17 18:55:47 +02:00
|
|
|
@comment = comment
|
|
|
|
|
@event = @comment.commentable
|
2016-03-05 23:48:43 +01:00
|
|
|
@conference = @event.program.conference
|
2016-04-22 11:29:38 +02:00
|
|
|
@user = user
|
|
|
|
|
|
2021-03-10 23:09:52 -08:00
|
|
|
mail(bcc: nil,
|
2016-04-22 11:29:38 +02:00
|
|
|
template_name: 'comment_template',
|
2018-11-13 18:01:49 -08:00
|
|
|
subject: "New comment has been posted for #{@event.title}")
|
2015-07-17 18:55:47 +02:00
|
|
|
end
|
2013-01-14 08:49:49 +01:00
|
|
|
end
|