]> source.dussan.org Git - redmine.git/commitdiff
Fixed previous/next links when navigating in a saved query.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 16 Jan 2012 17:49:04 +0000 (17:49 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Mon, 16 Jan 2012 17:49:04 +0000 (17:49 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8657 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/queries_helper.rb
test/functional/issues_controller_test.rb

index afb560c6129d27df330a290f79320dd89984f42f..681a19a45e057a23efe6aa0bb887edfa0ddac5d9 100644 (file)
@@ -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
index 625d37705241166e4115d445920d3311ae4530f9..391b8f839b859fcb6e381feeb0f0a5d4687f89d2 100644 (file)
@@ -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}