mirror of
https://github.com/meineerde/redmine.git
synced 2026-02-01 03:57:15 +00:00
Do not propose watchers that are not allowed to see the object (#33329).
Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@20724 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
020f56d933
commit
0f4228d4e6
@ -141,7 +141,12 @@ class WatchersController < ApplicationController
|
||||
end
|
||||
users = scope.sorted.like(params[:q]).to_a
|
||||
if @watchables && @watchables.size == 1
|
||||
users -= @watchables.first.watcher_users
|
||||
watchable_object = @watchables.first
|
||||
users -= watchable_object.watcher_users
|
||||
|
||||
if watchable_object.respond_to?(:visible?)
|
||||
users.reject! {|user| user.is_a?(User) && !watchable_object.visible?(user)}
|
||||
end
|
||||
end
|
||||
users
|
||||
end
|
||||
|
||||
@ -335,6 +335,20 @@ class WatchersControllerTest < Redmine::ControllerTest
|
||||
assert_not_include hidden.name, response.body
|
||||
end
|
||||
|
||||
def test_autocomplete_for_user_should_not_return_users_without_object_visibility
|
||||
@request.session[:user_id] = 1
|
||||
get :autocomplete_for_user, :params => {
|
||||
q: 'rober',
|
||||
project_id: 'onlinestore',
|
||||
object_id: '4',
|
||||
object_type: 'issue'
|
||||
}, :xhr => true
|
||||
|
||||
assert_response :success
|
||||
|
||||
assert response.body.blank?
|
||||
end
|
||||
|
||||
def test_append
|
||||
@request.session[:user_id] = 2
|
||||
assert_no_difference 'Watcher.count' do
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user