@@ -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 => ' |
|
|
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 |
|
|
|
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/ |
|
|
15 | :attributes => { :href => '/issues/bulk_edit?ids%5B%5D=1&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&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&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&ids%5B%5D=2&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&ids%5B%5D=2&issue%5Bpriority_id%5D=8', |
|
64 | 67 | :class => '' } |
General Comments 0
You need to be logged in to leave comments.
Login now