]> source.dussan.org Git - redmine.git/commitdiff
Remove broken cookies after upgrade from 0.8.x to prevent an error from Rails (#4292).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 25 Nov 2009 20:28:56 +0000 (20:28 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Wed, 25 Nov 2009 20:28:56 +0000 (20:28 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3093 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/application_controller.rb

index 1f8967956679ad5d02445c7dedb32ee034ef2bfd..071d48ef01e6a1090d7ffeb053dbf094bd7105b3 100644 (file)
@@ -23,6 +23,17 @@ class ApplicationController < ActionController::Base
 
   layout 'base'
   
+  # Remove broken cookie after upgrade from 0.8.x (#4292)
+  # See https://rails.lighthouseapp.com/projects/8994/tickets/3360
+  # TODO: remove it when Rails is fixed
+  before_filter :delete_broken_cookies
+  def delete_broken_cookies
+    if cookies['_redmine_session'] && cookies['_redmine_session'] !~ /--/
+      cookies.delete '_redmine_session'    
+      redirect_to home_path and return false
+    end
+  end
+  
   before_filter :user_setup, :check_if_login_required, :set_localization
   filter_parameter_logging :password
   protect_from_forgery
@@ -34,7 +45,7 @@ class ApplicationController < ActionController::Base
   REDMINE_SUPPORTED_SCM.each do |scm|
     require_dependency "repository/#{scm.underscore}"
   end
-  
+
   def user_setup
     # Check the settings cache for each request
     Setting.check_cache