Sha256: 4e5d3c49c00b25565dbe5376047f82738da2544ddd5e77800fa9081a163abd64

Contents?: true

Size: 1.42 KB

Versions: 5

Compression:

Stored size: 1.42 KB

Contents

module Noodall
  class FormResponsesController < ApplicationController
    skip_before_filter :verify_authenticity_token
    # POST /responses
    # POST /responses.xml
    def create

      # long way of adding a new response to a form (create then append to form model)
      # as redirecting back to the form will cause errors with half built appended objects
      @form = Noodall::Form.find(params[:form_id])

      @form_response = @form.responses.build(params[:form_response])

      @form_response.ip = request.remote_ip
      @form_response.referrer = request.referer if @form_response.referrer.blank?
      @form_response.created_at = Time.zone.now

      respond_to do |format|
        if @form_response.valid? and @form_response.save

          unless @form_response.is_spam?
            begin
              # mail the response to the form recipient
              FormMailer.form_response(@form, @form_response).deliver unless @form.email.blank?
              FormMailer.form_response_thankyou(@form, @form_response).deliver
            rescue Net::SMTPSyntaxError
            end
          end

          flash[:notice] = @form.thank_you_message
          format.html
          format.xml  { render :xml => @form, :status => :created, :location => @form }
        else
          format.html { render 'new' }
          format.xml  { render :xml => @form_response.errors, :status => :unprocessable_entity }
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
noodall-form-builder-0.1.3 app/controllers/noodall/form_responses_controller.rb
noodall-form-builder-0.1.2 app/controllers/noodall/form_responses_controller.rb
noodall-form-builder-0.1.1 app/controllers/noodall/form_responses_controller.rb
noodall-form-builder-0.1.0 app/controllers/noodall/form_responses_controller.rb
noodall-form-builder-0.0.13 app/controllers/noodall/form_responses_controller.rb