##// END OF EJS Templates
Merged r4055 from trunk....
Eric Davis -
r4011:32b2e84477ad
parent child
Show More
@@ -6,6 +6,12 class ContextMenusController < ApplicationController
6 6 if (@issues.size == 1)
7 7 @issue = @issues.first
8 8 @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
9 else
10 @allowed_statuses = @issues.map do |i|
11 i.new_statuses_allowed_to(User.current)
12 end.inject do |memo,s|
13 memo & s
14 end
9 15 end
10 16 projects = @issues.collect(&:project).compact.uniq
11 17 @project = projects.first if projects.size == 1
@@ -4,19 +4,22
4 4 <% if !@issue.nil? -%>
5 5 <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'edit', :id => @issue},
6 6 :class => 'icon-edit', :disabled => !@can[:edit] %></li>
7 <% else %>
8 <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id)},
9 :class => 'icon-edit', :disabled => !@can[:edit] %></li>
10 <% end %>
11
12 <% unless @allowed_statuses.empty? %>
7 13 <li class="folder">
8 14 <a href="#" class="submenu" onclick="return false;"><%= l(:field_status) %></a>
9 15 <ul>
10 16 <% @statuses.each do |s| -%>
11 <li><%= context_menu_link s.name, {:controller => 'issues', :action => 'update', :id => @issue, :issue => {:status_id => s}, :back_url => @back}, :method => :put,
12 :selected => (s == @issue.status), :disabled => !(@can[:update] && @allowed_statuses.include?(s)) %></li>
17 <li><%= context_menu_link s.name, {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), :issue => {:status_id => s}, :back_url => @back}, :method => :post,
18 :selected => (@issue && s == @issue.status), :disabled => !(@can[:update] && @allowed_statuses.include?(s)) %></li>
13 19 <% end -%>
14 20 </ul>
15 21 </li>
16 <% else %>
17 <li><%= context_menu_link l(:button_edit), {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id)},
18 :class => 'icon-edit', :disabled => !@can[:edit] %></li>
19 <% end %>
22 <% end %>
20 23
21 24 <% unless @trackers.nil? %>
22 25 <li class="folder">
@@ -12,7 +12,7 class ContextMenusControllerTest < ActionController::TestCase
12 12 :attributes => { :href => '/issues/1/edit',
13 13 :class => 'icon-edit' }
14 14 assert_tag :tag => 'a', :content => 'Closed',
15 :attributes => { :href => '/issues/1/edit?issue%5Bstatus_id%5D=5',
15 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bstatus_id%5D=5',
16 16 :class => '' }
17 17 assert_tag :tag => 'a', :content => 'Immediate',
18 18 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;issue%5Bpriority_id%5D=8',
@@ -59,6 +59,9 class ContextMenusControllerTest < ActionController::TestCase
59 59 assert_tag :tag => 'a', :content => 'Edit',
60 60 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;ids%5B%5D=2',
61 61 :class => 'icon-edit' }
62 assert_tag :tag => 'a', :content => 'Closed',
63 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;ids%5B%5D=2&amp;issue%5Bstatus_id%5D=5',
64 :class => '' }
62 65 assert_tag :tag => 'a', :content => 'Immediate',
63 66 :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&amp;ids%5B%5D=2&amp;issue%5Bpriority_id%5D=8',
64 67 :class => '' }
General Comments 0
You need to be logged in to leave comments. Login now