Module: Sufia::ContactFormControllerBehavior

Extended by:
ActiveSupport::Concern
Included in:
ContactFormController
Defined in:
app/controllers/concerns/sufia/contact_form_controller_behavior.rb

Instance Method Summary collapse

Instance Method Details

#after_deliverObject

Override this method if you want to perform additional operations when a email is successfully sent, such as sending a confirmation response to the user.



33
34
# File 'app/controllers/concerns/sufia/contact_form_controller_behavior.rb', line 33

def after_deliver
end

#createObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/controllers/concerns/sufia/contact_form_controller_behavior.rb', line 12

def create
  # not spam and a valid form
  if @contact_form.valid?
    ContactMailer.contact(@contact_form).deliver_now
    flash.now[:notice] = 'Thank you for your message!'
    after_deliver
    @contact_form = ContactForm.new
  else
    flash.now[:error] = 'Sorry, this message was not sent successfully. '
    flash.now[:error] << @contact_form.errors.full_messages.map(&:to_s).join(", ")
  end
  render :new
rescue RuntimeError => e
  logger.error("Contact form failed to send: #{e.inspect}")
  flash.now[:error] = 'Sorry, this message was not delivered.'
  render :new
end

#newObject



9
10
# File 'app/controllers/concerns/sufia/contact_form_controller_behavior.rb', line 9

def new
end