diff options
Diffstat (limited to 'app/models/concerns/noteable.rb')
-rw-r--r-- | app/models/concerns/noteable.rb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/app/models/concerns/noteable.rb b/app/models/concerns/noteable.rb index 492d55c74e2..eed396f785b 100644 --- a/app/models/concerns/noteable.rb +++ b/app/models/concerns/noteable.rb @@ -88,7 +88,7 @@ module Noteable def discussions @discussions ||= discussion_notes - .inc_relations_for_view + .inc_relations_for_view(self) .discussions(self) end @@ -126,7 +126,7 @@ module Noteable def grouped_diff_discussions(*args) # Doesn't use `discussion_notes`, because this may include commit diff notes # besides MR diff notes, that we do not want to display on the MR Changes tab. - notes.inc_relations_for_view.grouped_diff_discussions(*args) + notes.inc_relations_for_view(self).grouped_diff_discussions(*args) end # rubocop:disable Gitlab/ModuleWithInstanceVariables @@ -205,6 +205,14 @@ module Noteable model_name.singular end + def commenters(user: nil) + eligable_notes = notes.user + + eligable_notes = eligable_notes.not_internal unless user&.can?(:read_internal_note, self) + + User.where(id: eligable_notes.select(:author_id).distinct) + end + private # Synthetic system notes don't have discussion IDs because these are generated dynamically |