diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-07-08 13:31:22 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-07-08 13:31:22 +0000 |
commit | e74d4ecf5fa73690c91188a70425cc2d4640ecd9 (patch) | |
tree | aa3e3329825a5db17a63445a88bd4123fb0a44b1 | |
parent | 23a1ef543fcf40af6b48a5cf1f164d8e82e3d419 (diff) | |
download | redmine-e74d4ecf5fa73690c91188a70425cc2d4640ecd9.tar.gz redmine-e74d4ecf5fa73690c91188a70425cc2d4640ecd9.zip |
Compute issue ids array only once.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9962 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/context_menus_controller.rb | 1 | ||||
-rw-r--r-- | app/helpers/context_menus_helper.rb | 2 | ||||
-rw-r--r-- | app/views/context_menus/issues.html.erb | 28 |
3 files changed, 16 insertions, 15 deletions
diff --git a/app/controllers/context_menus_controller.rb b/app/controllers/context_menus_controller.rb index 329c0d0c1..98b232323 100644 --- a/app/controllers/context_menus_controller.rb +++ b/app/controllers/context_menus_controller.rb @@ -24,6 +24,7 @@ class ContextMenusController < ApplicationController if (@issues.size == 1) @issue = @issues.first end + @issue_ids = @issues.map(&:id).sort @allowed_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&) @projects = @issues.collect(&:project).compact.uniq diff --git a/app/helpers/context_menus_helper.rb b/app/helpers/context_menus_helper.rb index f2575c913..15e670c78 100644 --- a/app/helpers/context_menus_helper.rb +++ b/app/helpers/context_menus_helper.rb @@ -36,7 +36,7 @@ module ContextMenusHelper def bulk_update_custom_field_context_menu_link(field, text, value) context_menu_link h(text), - {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'custom_field_values' => {field.id => value}}, :back_url => @back}, + {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'custom_field_values' => {field.id => value}}, :back_url => @back}, :method => :post, :selected => (@issue && @issue.custom_field_value(field) == value) end diff --git a/app/views/context_menus/issues.html.erb b/app/views/context_menus/issues.html.erb index f029ca408..c81e518ec 100644 --- a/app/views/context_menus/issues.html.erb +++ b/app/views/context_menus/issues.html.erb @@ -5,7 +5,7 @@ <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'edit', :id => @issue}, :class => 'icon-edit', :disabled => !@can[:edit] %></li> <% else %> - <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id)}, + <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issue_ids}, :class => 'icon-edit', :disabled => !@can[:edit] %></li> <% end %> @@ -14,7 +14,7 @@ <a href="#" class="submenu"><%= l(:field_status) %></a> <ul> <% @allowed_statuses.each do |s| -%> - <li><%= context_menu_link h(s.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {:status_id => s}, :back_url => @back}, :method => :post, + <li><%= context_menu_link h(s.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {:status_id => s}, :back_url => @back}, :method => :post, :selected => (@issue && s == @issue.status), :disabled => !@can[:update] %></li> <% end -%> </ul> @@ -26,7 +26,7 @@ <a href="#" class="submenu"><%= l(:field_tracker) %></a> <ul> <% @trackers.each do |t| -%> - <li><%= context_menu_link h(t.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'tracker_id' => t}, :back_url => @back}, :method => :post, + <li><%= context_menu_link h(t.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'tracker_id' => t}, :back_url => @back}, :method => :post, :selected => (@issue && t == @issue.tracker), :disabled => !@can[:edit] %></li> <% end -%> </ul> @@ -38,7 +38,7 @@ <a href="#" class="submenu"><%= l(:field_priority) %></a> <ul> <% @priorities.each do |p| -%> - <li><%= context_menu_link h(p.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'priority_id' => p}, :back_url => @back}, :method => :post, + <li><%= context_menu_link h(p.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'priority_id' => p}, :back_url => @back}, :method => :post, :selected => (@issue && p == @issue.priority), :disabled => (!@can[:edit] || @issues.detect {|i| !i.leaf?}) %></li> <% end -%> </ul> @@ -50,10 +50,10 @@ <a href="#" class="submenu"><%= l(:field_fixed_version) %></a> <ul> <% @versions.sort.each do |v| -%> - <li><%= context_menu_link format_version_name(v), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'fixed_version_id' => v}, :back_url => @back}, :method => :post, + <li><%= context_menu_link format_version_name(v), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'fixed_version_id' => v}, :back_url => @back}, :method => :post, :selected => (@issue && v == @issue.fixed_version), :disabled => !@can[:update] %></li> <% end -%> - <li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'fixed_version_id' => 'none'}, :back_url => @back}, :method => :post, + <li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'fixed_version_id' => 'none'}, :back_url => @back}, :method => :post, :selected => (@issue && @issue.fixed_version.nil?), :disabled => !@can[:update] %></li> </ul> </li> @@ -64,14 +64,14 @@ <a href="#" class="submenu"><%= l(:field_assigned_to) %></a> <ul> <% if @assignables.include?(User.current) %> - <li><%= context_menu_link "<< #{l(:label_me)} >>", {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'assigned_to_id' => User.current}, :back_url => @back}, :method => :post, + <li><%= context_menu_link "<< #{l(:label_me)} >>", {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'assigned_to_id' => User.current}, :back_url => @back}, :method => :post, :disabled => !@can[:update] %></li> <% end %> <% @assignables.each do |u| -%> - <li><%= context_menu_link h(u.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'assigned_to_id' => u}, :back_url => @back}, :method => :post, + <li><%= context_menu_link h(u.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'assigned_to_id' => u}, :back_url => @back}, :method => :post, :selected => (@issue && u == @issue.assigned_to), :disabled => !@can[:update] %></li> <% end -%> - <li><%= context_menu_link l(:label_nobody), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'assigned_to_id' => 'none'}, :back_url => @back}, :method => :post, + <li><%= context_menu_link l(:label_nobody), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'assigned_to_id' => 'none'}, :back_url => @back}, :method => :post, :selected => (@issue && @issue.assigned_to.nil?), :disabled => !@can[:update] %></li> </ul> </li> @@ -82,10 +82,10 @@ <a href="#" class="submenu"><%= l(:field_category) %></a> <ul> <% @project.issue_categories.each do |u| -%> - <li><%= context_menu_link h(u.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'category_id' => u}, :back_url => @back}, :method => :post, + <li><%= context_menu_link h(u.name), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'category_id' => u}, :back_url => @back}, :method => :post, :selected => (@issue && u == @issue.category), :disabled => !@can[:update] %></li> <% end -%> - <li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'category_id' => 'none'}, :back_url => @back}, :method => :post, + <li><%= context_menu_link l(:label_none), {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'category_id' => 'none'}, :back_url => @back}, :method => :post, :selected => (@issue && @issue.category.nil?), :disabled => !@can[:update] %></li> </ul> </li> @@ -96,7 +96,7 @@ <a href="#" class="submenu"><%= l(:field_done_ratio) %></a> <ul> <% (0..10).map{|x|x*10}.each do |p| -%> - <li><%= context_menu_link "#{p}%", {:controller => 'issues', :action => 'bulk_update', :ids => @issues.collect(&:id), :issue => {'done_ratio' => p}, :back_url => @back}, :method => :post, + <li><%= context_menu_link "#{p}%", {:controller => 'issues', :action => 'bulk_update', :ids => @issue_ids, :issue => {'done_ratio' => p}, :back_url => @back}, :method => :post, :selected => (@issue && p == @issue.done_ratio), :disabled => (!@can[:edit] || @issues.detect {|i| !i.leaf?}) %></li> <% end -%> </ul> @@ -131,10 +131,10 @@ <li><%= context_menu_link l(:button_copy), {:controller => 'issues', :action => 'new', :project_id => @project, :copy_from => @issue}, :class => 'icon-copy', :disabled => !@can[:copy] %></li> <% else %> - <li><%= context_menu_link l(:button_copy), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :copy => '1'}, + <li><%= context_menu_link l(:button_copy), {:controller => 'issues', :action => 'bulk_edit', :ids => @issue_ids, :copy => '1'}, :class => 'icon-copy', :disabled => !@can[:move] %></li> <% end %> - <li><%= context_menu_link l(:button_delete), issues_path(:ids => @issues.collect(&:id), :back_url => @back), + <li><%= context_menu_link l(:button_delete), issues_path(:ids => @issue_ids, :back_url => @back), :method => :delete, :data => {:confirm => issues_destroy_confirmation_message(@issues)}, :class => 'icon-del', :disabled => !@can[:delete] %></li> <%= call_hook(:view_issues_context_menu_end, {:issues => @issues, :can => @can, :back => @back }) %> |