]> source.dussan.org Git - redmine.git/commitdiff
Do not store query object in session but id or filters only. This allows to use Rails...
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 30 Dec 2007 10:46:09 +0000 (10:46 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 30 Dec 2007 10:46:09 +0000 (10:46 +0000)
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1027 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/issues_controller.rb

index be854f98ea287ef136c05c14e73e074a5ba97260..39a1e2d130158fe52bea93089a46c64d8f8dcef0 100644 (file)
@@ -216,9 +216,9 @@ private
   def retrieve_query
     if params[:query_id]
       @query = Query.find(params[:query_id], :conditions => {:project_id => (@project ? @project.id : nil)})
-      session[:query] = @query
+      session[:query] = {:id => @query.id, :project_id => @query.project_id}
     else
-      if params[:set_filter] or !session[:query] or session[:query].project != @project
+      if params[:set_filter] || session[:query].nil? || session[:query][:project_id] != (@project ? @project.id : nil)
         # Give it a name, required to be valid
         @query = Query.new(:name => "_")
         @query.project = @project
@@ -231,9 +231,10 @@ private
             @query.add_short_filter(field, params[field]) if params[field]
           end
         end
-        session[:query] = @query
+        session[:query] = {:project_id => @query.project_id, :filters => @query.filters}
       else
-        @query = session[:query]
+        @query = Query.find_by_id(session[:query][:id]) if session[:query][:id]
+        @query ||= Query.new(:name => "_", :project => @project, :filters => session[:query][:filters])
       end
     end
   end