lib/clearance/authorization.rb in clearance-1.0.0.rc7 vs lib/clearance/authorization.rb in clearance-1.0.0.rc8

- old
+ new

@@ -11,10 +11,19 @@ deny_access end end def deny_access(flash_message = nil) + respond_to do |format| + format.any(:js, :json, :xml) { head :unauthorized } + format.any { redirect_request(flash_message) } + end + end + + protected + + def redirect_request(flash_message) store_location if flash_message flash[:notice] = flash_message end @@ -24,12 +33,10 @@ else redirect_to url_after_denied_access_when_signed_out end end - protected - def clear_return_to session[:return_to] = nil end def store_location @@ -42,10 +49,16 @@ redirect_to(return_to || default) clear_return_to end def return_to - session[:return_to] || params[:return_to] + if return_to_url + URI.parse(return_to_url).path + end + end + + def return_to_url + session[:return_to] end def url_after_denied_access_when_signed_in Clearance.configuration.redirect_url end