Add email for proposal submission

This commit is contained in:
Stella Rouzi 2018-08-22 16:08:39 +03:00 committed by Henne Vogelsang
parent dfe0b8188e
commit da91ff8371
6 changed files with 34 additions and 2 deletions

View file

@ -25,7 +25,10 @@ module Admin
private
def email_params
params.require(:email_settings).permit(:send_on_registration, :send_on_accepted, :send_on_rejected, :send_on_confirmed_without_registration,
params.require(:email_settings).permit(:send_on_registration,
:send_on_accepted, :send_on_rejected, :send_on_confirmed_without_registration,
:send_on_submitted_proposal,
:submitted_proposal_subject, :submitted_proposal_body,
:registration_subject, :accepted_subject, :rejected_subject, :confirmed_without_registration_subject,
:registration_body, :accepted_body, :rejected_body, :confirmed_without_registration_body,
:send_on_conference_dates_updated, :conference_dates_updated_subject, :conference_dates_updated_body,

View file

@ -62,6 +62,7 @@ class ProposalsController < ApplicationController
if @event.save
ahoy.track 'Event submission', title: 'New submission'
Mailbot.submitted_proposal_mail(@event).deliver_later if @conference.email_settings.send_on_submitted_proposal
redirect_to conference_program_proposals_path(@conference.short_title), notice: 'Proposal was successfully submitted.'
else
flash.now[:error] = "Could not submit proposal: #{@event.errors.full_messages.join(', ')}"

View file

@ -35,6 +35,15 @@ class Mailbot < ActionMailer::Base
body: conference.email_settings.generate_event_mail(event, conference.email_settings.accepted_body))
end
def submitted_proposal_mail(event)
conference = event.program.conference
mail(to: event.submitter.email,
from: conference.contact.email,
subject: conference.email_settings.submitted_proposal_subject,
body: conference.email_settings.generate_event_mail(event, conference.email_settings.submitted_proposal_body))
end
def rejection_mail(event)
conference = event.program.conference

View file

@ -28,6 +28,13 @@
%a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'registration_help' } Show Help
= render partial: 'help', locals: { id: 'registration_help', show_event_variables: false }
#proposal.tab-pane{ role: 'tabpanel' }
= f.input :send_on_submitted_proposal, label: 'Send an email when the proposal is submitted', input_html: { 'data-name' => 'email_settings_proposal_submited_subject', 'class' => 'send_on_radio' }
= f.input :submitted_proposal_subject
= f.input :submitted_proposal_body, input_html: { rows: 10, cols: 20 }
%a.btn.btn-link.control_label.load_template{ 'data-subject-input-id' => 'email_settings_submitted_proposal_subject', 'data-subject-text' => 'Your proposal has been submitted successfully', 'data-body-input-id' => 'email_settings_submitted_proposal_body', 'data-body-text' => "Dear {name}\n\nThank you for submitting your proposal {eventtitle}.\n\nOur team will review it and get back to you as soon as possible.\n\nFeel free to contact us with any questions or concerns.\n\nBest wishes\n\n{conference} Team" } Load Template
%a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'submitted_proposal_help' } Show Help
= render partial: 'help', locals: { id: 'submitted_proposal_help', show_event_variables: true }
= f.input :send_on_accepted, label: 'Send an email when the proposal is accepted?', input_html: { 'data-name' => 'email_settings_accepted_subject', 'class' => 'send_on_radio' }
= f.input :accepted_subject
= f.input :accepted_body, input_html: { rows: 10, cols: 20 }