Class: RailsSiteEngine::ContactsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/rails_site_engine/contacts_controller.rb

Instance Method Summary collapse

Instance Method Details

#create ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/rails_site_engine/contacts_controller.rb', line 3

def create
  @page = content_store.page_for_path(request.path)
  unless @page && page_has_contact_form?(@page)
    raise ActionController::RoutingError, "Not Found"
  end

  @contact_message = ContactMessage.new(contact_params)

  if @contact_message.honeypot_triggered?
    redirect_to @page.path, notice: t("rails_site_engine.contact.success_notice")
    return
  end

  if @contact_message.valid?
    ContactMailer.with(contact_message: @contact_message, site_config: site_config).notify.deliver_now
    redirect_to @page.path, notice: t("rails_site_engine.contact.success_notice")
  else
    flash.now[:alert] = t("rails_site_engine.contact.invalid_notice")
    render "rails_site_engine/pages/show", status: :unprocessable_entity
  end
end