diff options
author | Robert Speicher <rspeicher@gmail.com> | 2019-06-19 15:58:43 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2019-06-19 15:58:43 +0000 |
commit | ea1b24cbe01d4d76fce693cbf329896e2203ae3d (patch) | |
tree | e47190ba7a7e6e40f690210cac1121882929b031 /app | |
parent | 9fa2b6578745658c36ced14a4ad1afe75c56ecc1 (diff) | |
parent | 5469d21d02d2969f7b1c629ebd5e5696c664736c (diff) | |
download | gitlab-ce-ea1b24cbe01d4d76fce693cbf329896e2203ae3d.tar.gz |
Merge branch 'pderichs-52123' into 'master'
Use NotesFinder to get Noteable
See merge request gitlab-org/gitlab-ce!28205
Diffstat (limited to 'app')
-rw-r--r-- | app/finders/notes_finder.rb | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/app/finders/notes_finder.rb b/app/finders/notes_finder.rb index 817aac8b5d5..8f610d7dddb 100644 --- a/app/finders/notes_finder.rb +++ b/app/finders/notes_finder.rb @@ -34,8 +34,10 @@ class NotesFinder target_type = @params[:target_type] target_id = @params[:target_id] + target_iid = @params[:target_iid] - return @target = nil unless target_type && target_id + return @target = nil unless target_type + return @target = nil unless target_id || target_iid @target = if target_type == "commit" @@ -43,12 +45,22 @@ class NotesFinder @project.commit(target_id) end else - noteables_for_type(target_type).find(target_id) + noteables_for_type_by_id(target_type, target_id, target_iid) end end private + def noteables_for_type_by_id(type, id, iid) + query = if id + { id: id } + else + { iid: iid } + end + + noteables_for_type(type).find_by!(query) # rubocop: disable CodeReuse/ActiveRecord + end + def init_collection if target notes_on_target |