Browse Source

Use #find_issues as before filter for issues context menu.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11961 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/2.4.0
Jean-Philippe Lang 11 years ago
parent
commit
60d2a5e322

+ 2
- 4
app/controllers/context_menus_controller.rb View File

@@ -19,17 +19,15 @@ class ContextMenusController < ApplicationController
helper :watchers
helper :issues

before_filter :find_issues, :only => :issues

def issues
@issues = Issue.visible.all(:conditions => {:id => params[:ids]}, :include => :project)
(render_404; return) unless @issues.present?
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
@project = @projects.first if @projects.size == 1

@can = {:edit => User.current.allowed_to?(:edit_issues, @projects),
:log_time => (@project && User.current.allowed_to?(:log_time, @project)),

+ 3
- 5
test/functional/context_menus_controller_test.rb View File

@@ -219,11 +219,9 @@ class ContextMenusControllerTest < ActionController::TestCase
assert_select 'a', :text => 'eCookbook - Shared'
end

def test_context_menu_issue_visibility
get :issues, :ids => [1, 4]
assert_response :success
assert_template 'context_menu'
assert_equal [1], assigns(:issues).collect(&:id)
def test_context_menu_with_issue_that_is_not_visible_should_fail
get :issues, :ids => [1, 4] # issue 4 is not visible
assert_response 302
end

def test_should_respond_with_404_without_ids

Loading…
Cancel
Save