Commit 01ec6c793c533306365319e3bf01174a976352d0

Authored by Marin Jankovski
1 parent 81527e9f

At mention participating users.

app/controllers/projects_controller.rb
@@ -123,11 +123,12 @@ class ProjectsController < ApplicationController @@ -123,11 +123,12 @@ class ProjectsController < ApplicationController
123 end 123 end
124 124
125 def autocomplete_sources 125 def autocomplete_sources
  126 + participating_users = @project.team.members.sort_by(&:username).map { |user| { username: user.username, name: user.name } } + User.participating(@project.notes).select([:username, :name]).sort_by(&:username).map { |user| { username: user.username, name: user.name } }
126 @suggestions = { 127 @suggestions = {
127 emojis: Emoji.names.map { |e| { name: e, path: view_context.image_url("emoji/#{e}.png") } }, 128 emojis: Emoji.names.map { |e| { name: e, path: view_context.image_url("emoji/#{e}.png") } },
128 issues: @project.issues.select([:iid, :title, :description]), 129 issues: @project.issues.select([:iid, :title, :description]),
129 mergerequests: @project.merge_requests.select([:iid, :title, :description]), 130 mergerequests: @project.merge_requests.select([:iid, :title, :description]),
130 - members: @project.team.members.sort_by(&:username).map { |user| { username: user.username, name: user.name } } 131 + members: participating_users.uniq
131 } 132 }
132 133
133 respond_to do |format| 134 respond_to do |format|
app/models/user.rb
@@ -169,6 +169,7 @@ class User < ActiveRecord::Base @@ -169,6 +169,7 @@ class User < ActiveRecord::Base
169 scope :not_in_project, ->(project) { project.users.present? ? where("id not in (:ids)", ids: project.users.map(&:id) ) : all } 169 scope :not_in_project, ->(project) { project.users.present? ? where("id not in (:ids)", ids: project.users.map(&:id) ) : all }
170 scope :without_projects, -> { where('id NOT IN (SELECT DISTINCT(user_id) FROM users_projects)') } 170 scope :without_projects, -> { where('id NOT IN (SELECT DISTINCT(user_id) FROM users_projects)') }
171 scope :ldap, -> { where(provider: 'ldap') } 171 scope :ldap, -> { where(provider: 'ldap') }
  172 + scope :participating, ->(notes){ where(id: notes.inc_author.map(&:author_id))}
172 173
173 scope :potential_team_members, ->(team) { team.members.any? ? active.not_in_team(team) : active } 174 scope :potential_team_members, ->(team) { team.members.any? ? active.not_in_team(team) : active }
174 175