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