handle rails 4 flash hashes in session for rails 3
closes #CNVS-20688 Change-Id: Icb9963f78bddb08e014ac480e9eefd030704aea8 Reviewed-on: https://gerrit.instructure.com/67729 Reviewed-by: Cody Cutrer <cody@instructure.com> Tested-by: Jenkins QA-Review: Jeremy Putnam <jeremyp@instructure.com> Product-Review: James Williams <jamesw@instructure.com>
This commit is contained in:
parent
e276d20bcc
commit
870b2abbc9
|
@ -0,0 +1,16 @@
|
|||
# remove after switch to Rails 4
|
||||
class Rails3FlashShim
|
||||
def initialize(app)
|
||||
@app = app
|
||||
end
|
||||
|
||||
def call(env)
|
||||
if (session = env['rack.session']) && (flash = session['flash'])
|
||||
if flash.is_a?(Hash)
|
||||
session['flash'] = nil
|
||||
end
|
||||
end
|
||||
|
||||
@app.call(env)
|
||||
end
|
||||
end
|
|
@ -118,6 +118,9 @@ module CanvasRails
|
|||
initializer("extend_middleware_stack", after: "load_config_initializers") do |app|
|
||||
app.config.middleware.insert_before(config.session_store, 'LoadAccount')
|
||||
app.config.middleware.insert_before(config.session_store, 'SessionsTimeout')
|
||||
if CANVAS_RAILS3
|
||||
app.config.middleware.insert_before('ActionDispatch::Flash', 'Rails3FlashShim')
|
||||
end
|
||||
app.config.middleware.swap('ActionDispatch::RequestId', 'RequestContextGenerator')
|
||||
app.config.middleware.insert_after(config.session_store, 'RequestContextSession')
|
||||
app.config.middleware.insert_before('ActionDispatch::ParamsParser', 'Canvas::RequestThrottle')
|
||||
|
|
Loading…
Reference in New Issue