Do not store query object in session but id or filters only. This allows to use Rails 2.0 cookie based sessions.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1027 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
9a1b46fe42
commit
5bc7dc77e2
|
@ -216,9 +216,9 @@ private
|
||||||
def retrieve_query
|
def retrieve_query
|
||||||
if params[:query_id]
|
if params[:query_id]
|
||||||
@query = Query.find(params[:query_id], :conditions => {:project_id => (@project ? @project.id : nil)})
|
@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
|
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
|
# Give it a name, required to be valid
|
||||||
@query = Query.new(:name => "_")
|
@query = Query.new(:name => "_")
|
||||||
@query.project = @project
|
@query.project = @project
|
||||||
|
@ -231,9 +231,10 @@ private
|
||||||
@query.add_short_filter(field, params[field]) if params[field]
|
@query.add_short_filter(field, params[field]) if params[field]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
session[:query] = @query
|
session[:query] = {:project_id => @query.project_id, :filters => @query.filters}
|
||||||
else
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue