diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-03-27 12:19:34 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-04-02 10:57:01 +0200 |
commit | e62b5a2b072eb1bc8587b095e906bd194475eacc (patch) | |
tree | 41c8af3aa73cce323bc9bdb53091c5c44ad39951 /app/models | |
parent | 756e7aa8c347ccf211db03a7fa16ab33c021f820 (diff) | |
download | gitlab-ce-e62b5a2b072eb1bc8587b095e906bd194475eacc.tar.gz |
Only allow user to see participants from groups they have access to.
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/concerns/issuable.rb | 8 | ||||
-rw-r--r-- | app/models/concerns/mentionable.rb | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index 88ac83744df..478134dff68 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -118,16 +118,16 @@ module Issuable end # Return all users participating on the discussion - def participants + def participants(current_user = self.author) users = [] users << author users << assignee if is_assigned? mentions = [] - mentions << self.mentioned_users + mentions << self.mentioned_users(current_user) notes.each do |note| users << note.author - mentions << note.mentioned_users + mentions << note.mentioned_users(current_user) end users.concat(mentions.reduce([], :|)).uniq @@ -140,7 +140,7 @@ module Issuable return subscription.subscribed end - participants.include?(user) + participants(user).include?(user) end def toggle_subscription(user) diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb index 1ab0a28fddd..41bcfa6be21 100644 --- a/app/models/concerns/mentionable.rb +++ b/app/models/concerns/mentionable.rb @@ -42,10 +42,10 @@ module Mentionable Note.cross_reference_exists?(target, local_reference) end - def mentioned_users + def mentioned_users(current_user = nil) return [] if mentionable_text.blank? - ext = Gitlab::ReferenceExtractor.new(self.project) + ext = Gitlab::ReferenceExtractor.new(self.project, current_user) ext.analyze(text) ext.users.uniq end |