diff options
-rw-r--r-- | app/controllers/projects_controller.rb | 2 | ||||
-rw-r--r-- | app/models/concerns/mentionable.rb | 12 |
2 files changed, 9 insertions, 5 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 8f2253bfb7c..66fc037cead 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -130,7 +130,7 @@ class ProjectsController < ApplicationController [] end team_members = sorted(@project.team.members) - participants = [{ username: "all", name: "Group Members" }] + team_members + participating + participants = [{ username: "all", name: "Project and Group Members" }] + team_members + participating @suggestions = { emojis: Emoji.names.map { |e| { name: e, path: view_context.image_url("emoji/#{e}.png") } }, issues: @project.issues.select([:iid, :title, :description]), diff --git a/app/models/concerns/mentionable.rb b/app/models/concerns/mentionable.rb index a46a593c6e3..80d3677526c 100644 --- a/app/models/concerns/mentionable.rb +++ b/app/models/concerns/mentionable.rb @@ -49,12 +49,16 @@ module Mentionable matches = mentionable_text.scan(/@[a-zA-Z][a-zA-Z0-9_\-\.]*/) matches.each do |match| identifier = match.delete "@" - if has_project - id = project.team.members.find_by(username: identifier).try(:id) + if identifier == "all" + users += project.team.members.flatten else - id = User.where(username: identifier).pluck(:id).first + if has_project + id = project.team.members.find_by(username: identifier).try(:id) + else + id = User.where(username: identifier).pluck(:id).first + end + users << User.find(id) unless id.blank? end - users << User.find(id) unless id.blank? end users.uniq end |