Merge branch 'assignee-dropdown-autocomplete' into 'master'
Include author in assignee dropdown search ## What does this MR do? Previously when you searched for the author in the assignee dropdown (if they aren't in the project) it did not actually include the author. This changes that so that when you search for the author it will correctly include the user. ## Screenshots (if relevant) ![Screen_Shot_2016-11-17_at_11.14.53](/uploads/5a13475d8ded459fd3b1ba6570897665/Screen_Shot_2016-11-17_at_11.14.53.png) ## What are the relevant issue numbers? Closes #22905 See merge request !7526
This commit is contained in:
commit
a1b840eb92
|
@ -55,7 +55,13 @@ class AutocompleteController < ApplicationController
|
|||
def find_users
|
||||
@users =
|
||||
if @project
|
||||
@project.team.users
|
||||
user_ids = @project.team.users.map(&:id)
|
||||
|
||||
if params[:author_id].present?
|
||||
user_ids << params[:author_id]
|
||||
end
|
||||
|
||||
User.where(id: user_ids)
|
||||
elsif params[:group_id].present?
|
||||
group = Group.find(params[:group_id])
|
||||
return render_404 unless can?(current_user, :read_group, group)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Assignee dropdown now searches author of issue or merge request
|
||||
merge_request:
|
||||
author:
|
|
@ -1,7 +1,9 @@
|
|||
require 'rails_helper'
|
||||
|
||||
feature 'Issue Sidebar', feature: true do
|
||||
let(:project) { create(:project) }
|
||||
include WaitForAjax
|
||||
|
||||
let(:project) { create(:project, :public) }
|
||||
let(:issue) { create(:issue, project: project) }
|
||||
let!(:user) { create(:user)}
|
||||
|
||||
|
@ -10,6 +12,37 @@ feature 'Issue Sidebar', feature: true do
|
|||
login_as(user)
|
||||
end
|
||||
|
||||
context 'assignee', js: true do
|
||||
let(:user2) { create(:user) }
|
||||
let(:issue2) { create(:issue, project: project, author: user2) }
|
||||
|
||||
before do
|
||||
project.team << [user, :developer]
|
||||
visit_issue(project, issue2)
|
||||
|
||||
find('.block.assignee .edit-link').click
|
||||
|
||||
wait_for_ajax
|
||||
end
|
||||
|
||||
it 'shows author in assignee dropdown' do
|
||||
page.within '.dropdown-menu-user' do
|
||||
expect(page).to have_content(user2.name)
|
||||
end
|
||||
end
|
||||
|
||||
it 'shows author when filtering assignee dropdown' do
|
||||
page.within '.dropdown-menu-user' do
|
||||
find('.dropdown-input-field').native.send_keys user2.name
|
||||
sleep 1 # Required to wait for end of input delay
|
||||
|
||||
wait_for_ajax
|
||||
|
||||
expect(page).to have_content(user2.name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'as a allowed user' do
|
||||
before do
|
||||
project.team << [user, :developer]
|
||||
|
|
Loading…
Reference in New Issue