use vue for form submission
This commit is contained in:
@@ -4,18 +4,23 @@ class SendSubmissionEmailController < ApplicationController
|
||||
layout 'flow'
|
||||
|
||||
skip_before_action :authenticate_user!
|
||||
skip_before_action :verify_authenticity_token
|
||||
|
||||
def success; end
|
||||
|
||||
def create
|
||||
@submission = if params[:flow_slug]
|
||||
Submission.joins(:flow).find_by!(email: params[:email], flow: { slug: params[:flow_slug] })
|
||||
else
|
||||
Submission.find_by!(slug: params[:submission_slug])
|
||||
end
|
||||
@submission =
|
||||
if params[:flow_slug]
|
||||
Submission.joins(:flow).find_by!(email: params[:email], flow: { slug: params[:flow_slug] })
|
||||
else
|
||||
Submission.find_by!(slug: params[:submission_slug])
|
||||
end
|
||||
|
||||
SubmissionMailer.copy_to_submitter(@submission).deliver_later!
|
||||
|
||||
redirect_to success_send_submission_email_index_path
|
||||
respond_to do |f|
|
||||
f.html { redirect_to success_send_submission_email_index_path }
|
||||
f.json { head :ok }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -14,7 +14,7 @@ class SubmitFlowController < ApplicationController
|
||||
|
||||
def update
|
||||
submission = Submission.find_by!(slug: params[:slug])
|
||||
submission.values.merge!(params[:values].to_unsafe_h)
|
||||
submission.values.merge!(normalized_values)
|
||||
submission.completed_at = Time.current if params[:completed] == 'true'
|
||||
|
||||
submission.save
|
||||
@@ -25,4 +25,10 @@ class SubmitFlowController < ApplicationController
|
||||
def completed
|
||||
@submission = Submission.find_by!(slug: params[:submit_flow_slug])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def normalized_values
|
||||
params[:values].to_unsafe_h.transform_values { |v| v.is_a?(Array) ? v.compact_blank : v }
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user