@@ -262,16 +262,19 module QueriesHelper | |||||
262 | end |
|
262 | end | |
263 | end |
|
263 | end | |
264 |
|
264 | |||
265 | def retrieve_query_from_session |
|
265 | def retrieve_query_from_session(klass=IssueQuery) | |
266 | if session[:query] |
|
266 | session_key = klass.name.underscore.to_sym | |
267 | if session[:query][:id] |
|
267 | session_data = session[session_key] | |
268 | @query = IssueQuery.find_by_id(session[:query][:id]) |
|
268 | ||
|
269 | if session_data | |||
|
270 | if session_data[:id] | |||
|
271 | @query = IssueQuery.find_by_id(session_data[:id]) | |||
269 | return unless @query |
|
272 | return unless @query | |
270 | else |
|
273 | else | |
271 |
@query = IssueQuery.new(:name => "_", :filters => session |
|
274 | @query = IssueQuery.new(:name => "_", :filters => session_data[:filters], :group_by => session_data[:group_by], :column_names => session_data[:column_names], :totalable_names => session_data[:totalable_names]) | |
272 | end |
|
275 | end | |
273 |
if session |
|
276 | if session_data.has_key?(:project_id) | |
274 |
@query.project_id = session |
|
277 | @query.project_id = session_data[:project_id] | |
275 | else |
|
278 | else | |
276 | @query.project = @project |
|
279 | @query.project = @project | |
277 | end |
|
280 | end |
@@ -109,6 +109,35 class IssuesTest < Redmine::IntegrationTest | |||||
109 | assert_equal 0, Issue.find(1).attachments.length |
|
109 | assert_equal 0, Issue.find(1).attachments.length | |
110 | end |
|
110 | end | |
111 |
|
111 | |||
|
112 | def test_next_and_previous_links_should_be_displayed_after_filter | |||
|
113 | with_settings :default_language => 'en' do | |||
|
114 | get '/projects/ecookbook/issues?set_filter=1&tracker_id=1' | |||
|
115 | assert_response :success | |||
|
116 | assert_select 'td.id', :text => '5' | |||
|
117 | ||||
|
118 | get '/issues/5' | |||
|
119 | assert_response :success | |||
|
120 | assert_select '.next-prev-links .position', :text => '3 of 5' | |||
|
121 | end | |||
|
122 | end | |||
|
123 | ||||
|
124 | def test_next_and_previous_links_should_be_displayed_after_saved_query | |||
|
125 | query = IssueQuery.create!(:name => 'Calendar Query', | |||
|
126 | :visibility => IssueQuery::VISIBILITY_PUBLIC, | |||
|
127 | :filters => {'tracker_id' => {:operator => '=', :values => ['1']}} | |||
|
128 | ) | |||
|
129 | ||||
|
130 | with_settings :default_language => 'en' do | |||
|
131 | get "/projects/ecookbook/issues?set_filter=1&query_id=#{query.id}" | |||
|
132 | assert_response :success | |||
|
133 | assert_select 'td.id', :text => '5' | |||
|
134 | ||||
|
135 | get '/issues/5' | |||
|
136 | assert_response :success | |||
|
137 | assert_select '.next-prev-links .position', :text => '6 of 8' | |||
|
138 | end | |||
|
139 | end | |||
|
140 | ||||
112 | def test_other_formats_links_on_index |
|
141 | def test_other_formats_links_on_index | |
113 | get '/projects/ecookbook/issues' |
|
142 | get '/projects/ecookbook/issues' | |
114 |
|
143 |
General Comments 0
You need to be logged in to leave comments.
Login now