diff options
author | Patrick Derichs <pderichs@gitlab.com> | 2019-08-02 10:55:03 +0200 |
---|---|---|
committer | Patrick Derichs <pderichs@gitlab.com> | 2019-08-04 21:04:31 +0200 |
commit | c69a47049c62f3b6b8b4f426ee498690bc45d3e6 (patch) | |
tree | 6c900218ed6d6ffc512e526ae84177f85b139a5b /lib | |
parent | 5ebbe95ad3211e4a751c38919ed7d31a6a0d5d50 (diff) | |
download | gitlab-ce-c69a47049c62f3b6b8b4f426ee498690bc45d3e6.tar.gz |
Use NotesFinder#target to find Epics12026-use-notes-finder-target-for-epics-ce
Diffstat (limited to 'lib')
-rw-r--r-- | lib/api/helpers/notes_helpers.rb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/api/helpers/notes_helpers.rb b/lib/api/helpers/notes_helpers.rb index 7124ac0c5c3..6bf9057fad7 100644 --- a/lib/api/helpers/notes_helpers.rb +++ b/lib/api/helpers/notes_helpers.rb @@ -74,14 +74,14 @@ module API end def find_noteable(parent_type, parent_id, noteable_type, noteable_id) - params = params_by_noteable_type_and_id(noteable_type, noteable_id) + params = finder_params_by_noteable_type_and_id(noteable_type, noteable_id, parent_id) - noteable = NotesFinder.new(current_user, params.merge(project: user_project)).target + noteable = NotesFinder.new(current_user, params).target noteable = nil unless can?(current_user, noteable_read_ability_name(noteable), noteable) noteable || not_found!(noteable_type) end - def params_by_noteable_type_and_id(type, id) + def finder_params_by_noteable_type_and_id(type, id, parent_id) target_type = type.name.underscore { target_type: target_type }.tap do |h| if %w(issue merge_request).include?(target_type) @@ -89,9 +89,15 @@ module API else h[:target_id] = id end + + add_parent_to_finder_params(h, type, parent_id) end end + def add_parent_to_finder_params(finder_params, noteable_type, parent_id) + finder_params[:project] = user_project + end + def noteable_parent(noteable) public_send("user_#{noteable.class.parent_class.to_s.underscore}") # rubocop:disable GitlabSecurity/PublicSend end |