From: Jean-Philippe Lang Date: Mon, 16 Jan 2012 17:49:04 +0000 (+0000) Subject: Fixed previous/next links when navigating in a saved query. X-Git-Tag: 1.4.0~638 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fef82e44a61b40f0b99bcfe8c13f23a11d366d70;p=redmine.git 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 --- 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}