##// END OF EJS Templates
Show shared versions when editing issues from different projects with the context menu (#11345)....
Jean-Philippe Lang -
r9778:23a1ef543fcf
parent child
Show More
@@ -48,6 +48,7 class ContextMenusController < ApplicationController
48 @assignables = @projects.map(&:assignable_users).reduce(:&)
48 @assignables = @projects.map(&:assignable_users).reduce(:&)
49 @trackers = @projects.map(&:trackers).reduce(:&)
49 @trackers = @projects.map(&:trackers).reduce(:&)
50 end
50 end
51 @versions = @projects.map {|p| p.shared_versions.open}.reduce(:&)
51
52
52 @priorities = IssuePriority.active.reverse
53 @priorities = IssuePriority.active.reverse
53 @back = back_url
54 @back = back_url
@@ -45,12 +45,11
45 </li>
45 </li>
46 <% end %>
46 <% end %>
47
47
48 <% #TODO: allow editing versions when multiple projects %>
48 <% if @safe_attributes.include?('fixed_version_id') && @versions.any? -%>
49 <% if @safe_attributes.include?('fixed_version_id') && @project && @project.shared_versions.open.any? -%>
50 <li class="folder">
49 <li class="folder">
51 <a href="#" class="submenu"><%= l(:field_fixed_version) %></a>
50 <a href="#" class="submenu"><%= l(:field_fixed_version) %></a>
52 <ul>
51 <ul>
53 <% @project.shared_versions.open.sort.each do |v| -%>
52 <% @versions.sort.each do |v| -%>
54 <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,
53 <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,
55 :selected => (@issue && v == @issue.fixed_version), :disabled => !@can[:update] %></li>
54 :selected => (@issue && v == @issue.fixed_version), :disabled => !@can[:update] %></li>
56 <% end -%>
55 <% end -%>
@@ -223,6 +223,18 class ContextMenusControllerTest < ActionController::TestCase
223 :class => '' }
223 :class => '' }
224 end
224 end
225
225
226 def test_context_menu_should_propose_shared_versions_for_issues_from_different_projects
227 @request.session[:user_id] = 2
228 version = Version.create!(:name => 'Shared', :sharing => 'system', :project_id => 1)
229
230 get :issues, :ids => [1, 4]
231 assert_response :success
232 assert_template 'context_menu'
233
234 assert_include version, assigns(:versions)
235 assert_tag :tag => 'a', :content => 'eCookbook - Shared'
236 end
237
226 def test_context_menu_issue_visibility
238 def test_context_menu_issue_visibility
227 get :issues, :ids => [1, 4]
239 get :issues, :ids => [1, 4]
228 assert_response :success
240 assert_response :success
General Comments 0
You need to be logged in to leave comments. Login now