##// END OF EJS Templates
Display the list of saved queries in the sidebar (#14790)....
Jean-Philippe Lang -
r15260:a00538e602d7
parent child
Show More
@@ -278,10 +278,12 module QueriesHelper
278 tags
278 tags
279 end
279 end
280
280
281 def sidebar_queries
281 # Returns the queries that are rendered in the sidebar
282 @sidebar_queries ||= IssueQuery.visible.global_or_on_project(@project).sorted.to_a
282 def sidebar_queries(klass, project)
283 klass.visible.global_or_on_project(@project).sorted.to_a
283 end
284 end
284
285
286 # Renders a group of queries
285 def query_links(title, queries)
287 def query_links(title, queries)
286 return '' if queries.empty?
288 return '' if queries.empty?
287 # links to #index on issues/show
289 # links to #index on issues/show
@@ -298,10 +300,13 module QueriesHelper
298 ) + "\n"
300 ) + "\n"
299 end
301 end
300
302
301 def render_sidebar_queries
303 # Renders the list of queries for the sidebar
304 def render_sidebar_queries(klass, project)
305 queries = sidebar_queries(klass, project)
306
302 out = ''.html_safe
307 out = ''.html_safe
303 out << query_links(l(:label_my_queries), sidebar_queries.select(&:is_private?))
308 out << query_links(l(:label_my_queries), queries.select(&:is_private?))
304 out << query_links(l(:label_query_plural), sidebar_queries.reject(&:is_private?))
309 out << query_links(l(:label_query_plural), queries.reject(&:is_private?))
305 out
310 out
306 end
311 end
307 end
312 end
@@ -21,5 +21,5
21 <%= call_hook(:view_issues_sidebar_issues_bottom) %>
21 <%= call_hook(:view_issues_sidebar_issues_bottom) %>
22 <%= call_hook(:view_issues_sidebar_planning_bottom) %>
22 <%= call_hook(:view_issues_sidebar_planning_bottom) %>
23
23
24 <%= render_sidebar_queries %>
24 <%= render_sidebar_queries(IssueQuery, @project) %>
25 <%= call_hook(:view_issues_sidebar_queries_bottom) %>
25 <%= call_hook(:view_issues_sidebar_queries_bottom) %>
@@ -41,6 +41,10
41 </div>
41 </div>
42 <% end %>
42 <% end %>
43
43
44 <% content_for :sidebar do %>
45 <%= render_sidebar_queries(TimeEntryQuery, @project) %>
46 <% end %>
47
44 <% html_title(@query.new_record? ? l(:label_spent_time) : @query.name, l(:label_details)) %>
48 <% html_title(@query.new_record? ? l(:label_spent_time) : @query.name, l(:label_details)) %>
45
49
46 <% content_for :header_tags do %>
50 <% content_for :header_tags do %>
@@ -70,5 +70,9
70 <% end %>
70 <% end %>
71 <% end %>
71 <% end %>
72
72
73 <% content_for :sidebar do %>
74 <%= render_sidebar_queries(TimeEntryQuery, @project) %>
75 <% end %>
76
73 <% html_title(@query.new_record? ? l(:label_spent_time) : @query.name, l(:label_report)) %>
77 <% html_title(@query.new_record? ? l(:label_spent_time) : @query.name, l(:label_report)) %>
74
78
@@ -767,6 +767,7 class TimelogControllerTest < ActionController::TestCase
767 get :index, :project_id => 'ecookbook', :query_id => query.id
767 get :index, :project_id => 'ecookbook', :query_id => query.id
768 assert_response :success
768 assert_response :success
769 assert_select 'h2', :text => query.name
769 assert_select 'h2', :text => query.name
770 assert_select '#sidebar a.selected', :text => query.name
770 end
771 end
771
772
772 def test_index_atom_feed
773 def test_index_atom_feed
General Comments 0
You need to be logged in to leave comments. Login now