summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-01-16 17:49:04 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-01-16 17:49:04 +0000
commitfef82e44a61b40f0b99bcfe8c13f23a11d366d70 (patch)
treeac9e0e315f5194adfe264812f83e286baf497e4c
parent276e647779f3e90574d87ae4d25a46330dad6a81 (diff)
downloadredmine-fef82e44a61b40f0b99bcfe8c13f23a11d366d70.tar.gz
redmine-fef82e44a61b40f0b99bcfe8c13f23a11d366d70.zip
Fixed previous/next links when navigating in a saved query.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8657 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/helpers/queries_helper.rb7
-rw-r--r--test/functional/issues_controller_test.rb18
2 files changed, 24 insertions, 1 deletions
diff --git a/app/helpers/queries_helper.rb b/app/helpers/queries_helper.rb
index afb560c61..681a19a45 100644
--- a/app/helpers/queries_helper.rb
+++ b/app/helpers/queries_helper.rb
@@ -94,7 +94,12 @@ module QueriesHelper
def retrieve_query_from_session
if session[:query]
- @query = Query.new(:name => "_", :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names])
+ if session[:query][:id]
+ @query = Query.find_by_id(session[:query][:id])
+ return unless @query
+ else
+ @query = Query.new(:name => "_", :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names])
+ end
if session[:query].has_key?(:project_id)
@query.project_id = session[:query][:project_id]
else
diff --git a/test/functional/issues_controller_test.rb b/test/functional/issues_controller_test.rb
index 625d37705..391b8f839 100644
--- a/test/functional/issues_controller_test.rb
+++ b/test/functional/issues_controller_test.rb
@@ -947,6 +947,24 @@ class IssuesControllerTest < ActionController::TestCase
assert_tag 'a', :attributes => {:href => '/issues/5'}, :content => /Next/
end
+ def test_show_should_display_prev_next_links_with_saved_query_in_session
+ query = Query.create!(:name => 'test', :is_public => true, :user_id => 1,
+ :filters => {'status_id' => {:values => ['5'], :operator => '='}},
+ :sort_criteria => [['id', 'asc']])
+ @request.session[:query] = {:id => query.id, :project_id => nil}
+
+ get :show, :id => 11
+
+ assert_response :success
+ assert_equal query, assigns(:query)
+ # Previous and next issues for all projects
+ assert_equal 8, assigns(:prev_issue_id)
+ assert_equal 12, assigns(:next_issue_id)
+
+ assert_tag 'a', :attributes => {:href => '/issues/8'}, :content => /Previous/
+ assert_tag 'a', :attributes => {:href => '/issues/12'}, :content => /Next/
+ end
+
def test_show_should_display_prev_next_links_with_query_and_sort_on_association
@request.session[:query] = {:filters => {'status_id' => {:values => [''], :operator => 'o'}}, :project_id => nil}