Sha256: 093d3c392f24eb40a0988228bee68c57eb3e048c072ec1cf77548db080f51047

Contents?: true

Size: 1.55 KB

Versions: 2

Compression:

Stored size: 1.55 KB

Contents

module Refinery
  module Inquiries
    class InquiriesController < ::ApplicationController

      before_action :find_page, only: [:create, :new]
      before_action :find_thank_you_page, only: :thank_you

      def thank_you
      end

      def new
        @inquiry = Inquiry.new
      end

      def create
        @inquiry = Inquiry.new(inquiry_params)

        if @inquiry.save
          if @inquiry.ham? || Inquiries.send_notifications_for_inquiries_marked_as_spam
            begin
              InquiryMailer.notification(@inquiry, request).deliver_now
            rescue
              logger.warn "There was an error delivering an inquiry notification.\n#{$!}\n"
            end

            if Setting.send_confirmation?
              begin
                InquiryMailer.confirmation(@inquiry, request).deliver_now
              rescue
                logger.warn "There was an error delivering an inquiry confirmation:\n#{$!}\n"
              end
            end
          end

          redirect_to refinery.thank_you_inquiries_inquiries_path
        else
          render action: 'new'
        end
      end

      protected

      def find_page
        @page = Page.find_by(link_url: Refinery::Inquiries.page_path_new)
      end

      def find_thank_you_page
        @page = Page.find_by(link_url: Refinery::Inquiries.page_path_thank_you)
      end

      def inquiry_params
        params.require(:inquiry).permit(permitted_inquiry_params)
      end

      private

      def permitted_inquiry_params
        [:name, :phone, :message, :email]
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
refinerycms-inquiries-3.0.1 app/controllers/refinery/inquiries/inquiries_controller.rb
refinerycms-inquiries-3.0.0 app/controllers/refinery/inquiries/inquiries_controller.rb