diff options
author | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-21 13:07:44 -0400 |
---|---|---|
committer | Star Rauchenberger <fefferburbia@gmail.com> | 2023-10-21 13:07:44 -0400 |
commit | 35906f26e24467c52b6cf09346abe57444e5963a (patch) | |
tree | 52a2b8f555723940aaf5c20f99786e997ef48da0 /app | |
parent | a39b0711eefb07fb75294a68d635fb1323d24cf3 (diff) | |
download | thoughts-35906f26e24467c52b6cf09346abe57444e5963a.tar.gz thoughts-35906f26e24467c52b6cf09346abe57444e5963a.tar.bz2 thoughts-35906f26e24467c52b6cf09346abe57444e5963a.zip |
Quote submission uses null session for api calls
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/quotes_controller.rb | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/app/controllers/quotes_controller.rb b/app/controllers/quotes_controller.rb index f7445da..cad7dfd 100644 --- a/app/controllers/quotes_controller.rb +++ b/app/controllers/quotes_controller.rb | |||
@@ -1,4 +1,6 @@ | |||
1 | class QuotesController < ApplicationController | 1 | class QuotesController < ApplicationController |
2 | protect_from_forgery with: :null_session, if: -> { request.format.json? or request.format.xml? } | ||
3 | |||
2 | def index | 4 | def index |
3 | @quote = Quote.find(310) | 5 | @quote = Quote.find(310) |
4 | @qnumber = Quote.published.count | 6 | @qnumber = Quote.published.count |
@@ -65,7 +67,13 @@ class QuotesController < ApplicationController | |||
65 | 67 | ||
66 | unless @quote.valid? | 68 | unless @quote.valid? |
67 | flash.alert = "Error submitting quote." | 69 | flash.alert = "Error submitting quote." |
68 | render :new | 70 | |
71 | respond_to do |format| | ||
72 | format.html { render :new } | ||
73 | format.json { render json: { error: "Error submitting quote." }, status: :bad_request } | ||
74 | format.xml { render xml: { error: "Error submitting quote." }, status: :bad_request } | ||
75 | end | ||
76 | |||
69 | return | 77 | return |
70 | end | 78 | end |
71 | 79 | ||
@@ -74,7 +82,11 @@ class QuotesController < ApplicationController | |||
74 | @quote.save! | 82 | @quote.save! |
75 | 83 | ||
76 | flash[:notice] = "Thank you for submitting your quote!" | 84 | flash[:notice] = "Thank you for submitting your quote!" |
77 | redirect_to @quote | 85 | respond_to do |format| |
86 | format.html { redirect_to @quote } | ||
87 | format.json { render json: @quote } | ||
88 | format.xml { render xml: @quote } | ||
89 | end | ||
78 | else | 90 | else |
79 | @quote.state = :pending | 91 | @quote.state = :pending |
80 | @quote.save! | 92 | @quote.save! |
@@ -82,7 +94,11 @@ class QuotesController < ApplicationController | |||
82 | QuoteMailer.with(quote: @quote).pending_quote_email.deliver_later | 94 | QuoteMailer.with(quote: @quote).pending_quote_email.deliver_later |
83 | 95 | ||
84 | flash[:notice] = "Your quote has been submitted and is pending moderation." | 96 | flash[:notice] = "Your quote has been submitted and is pending moderation." |
85 | redirect_to new_quote_url | 97 | respond_to do |format| |
98 | format.html { redirect_to new_quote_url } | ||
99 | format.json { render json: @quote } | ||
100 | format.xml { render xml: @quote } | ||
101 | end | ||
86 | end | 102 | end |
87 | end | 103 | end |
88 | 104 | ||