Sha256: 1881c2c8da8801b05cf9220e415fd67e4b8505a60e297292ed3e43e3c7bc8996
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
class FormsController < ApplicationController no_login_required skip_before_filter :verify_authenticity_token def update @page = Page.find(params[:page_id]) rescue Page.first @page.data = params @page.request = OpenStruct.new({ :session => session # Creating a pretend response object }) @form = Form.find(params[:id]) @form.page = @page # We need a response object @response = find_or_create_response # Put the submitted data into the response object @response.result = Forms::Config.deep_symbolize_keys(params) begin # Grab the form configuration data @form[:extensions] = Forms::Config.convert(@form.config) rescue raise "Form '#{@form.title}' has not been configured" end @results = {} # Iterate through each configured extension @form[:extensions].each do |name, config| result = @form.call_extension(name,config) @results.merge!({ name.to_sym => result }) session.merge!(result[:session]) if result[:session].present? end # Those results are merged into the response object @response.result = @response.result.merge!({ :results => @results}) begin @response.save! redirect_to @form.redirect_to.present? ? @form.redirect_to : @page.url rescue "Form '#{@form.title}' could not be submitted." end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
radiant-forms-extension-3.2.2 | app/controllers/forms_controller.rb |
radiant-forms-extension-3.2.1 | app/controllers/forms_controller.rb |