Include author in assignee dropdown search
When searching for the author in the assignee dropdown it now correctly returns the user Closes #22905
This commit is contained in:
parent
cfcf5460b5
commit
80073da957
3 changed files with 45 additions and 2 deletions
|
@ -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)
|
||||
|
|
4
changelogs/unreleased/assignee-dropdown-autocomplete.yml
Normal file
4
changelogs/unreleased/assignee-dropdown-autocomplete.yml
Normal file
|
@ -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 a new issue