Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJacob Schatz <jschatz@gitlab.com>2016-05-27 01:00:22 +0300
committerJacob Schatz <jschatz@gitlab.com>2016-05-27 01:00:22 +0300
commit29db3f2c52d59abcc54a879d3fe7eb84c1e2f187 (patch)
treeb334003be42cb349d423b3da5a152c3fd07a477c /app
parentfb83f4bfc04c1add79f417f4a56e59a323b1003b (diff)
parentdddcab7e3f2a9dd83c6ed75b7efb622dc374b486 (diff)
Merge branch 'filter-by-any-user' into 'master'
Filter issuables by any user ![any-user](/uploads/c9626b9ac355747344a7073f61dc0c82/any-user.gif) Closes #2836 See merge request !3820
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/users_select.js.coffee12
-rw-r--r--app/helpers/issuables_helper.rb8
-rw-r--r--app/views/shared/issuable/_filter.html.haml2
3 files changed, 10 insertions, 12 deletions
diff --git a/app/assets/javascripts/users_select.js.coffee b/app/assets/javascripts/users_select.js.coffee
index b80b1b861cc..519618aa617 100644
--- a/app/assets/javascripts/users_select.js.coffee
+++ b/app/assets/javascripts/users_select.js.coffee
@@ -93,7 +93,9 @@ class @UsersSelect
$dropdown.glDropdown(
data: (term, callback) =>
- @users term, (users) =>
+ isAuthorFilter = $('.js-author-search')
+
+ @users term, term is '' and isAuthorFilter, (users) =>
if term.length is 0
showDivider = 0
@@ -138,7 +140,7 @@ class @UsersSelect
toggleLabel: (selected) ->
if selected && 'id' of selected
- selected.name
+ if selected.text then selected.text else selected.name
else
defaultLabel
@@ -219,7 +221,7 @@ class @UsersSelect
multiple: $(select).hasClass('multiselect')
minimumInputLength: 0
query: (query) =>
- @users query.term, (users) =>
+ @users query.term, @projectId?, (users) =>
data = { results: users }
if query.term.length == 0
@@ -302,7 +304,7 @@ class @UsersSelect
# Return users list. Filtered by query
# Only active users retrieved
- users: (query, callback) =>
+ users: (query, fromProject, callback) =>
url = @buildUrl(@usersPath)
$.ajax(
@@ -311,7 +313,7 @@ class @UsersSelect
search: query
per_page: 20
active: true
- project_id: @projectId
+ project_id: @projectId if fromProject
group_id: @groupId
current_user: @showCurrentUser
author_id: @authorId
diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb
index 39474217286..a7a6657b948 100644
--- a/app/helpers/issuables_helper.rb
+++ b/app/helpers/issuables_helper.rb
@@ -50,14 +50,10 @@ module IssuablesHelper
end
def user_dropdown_label(user_id, default_label)
+ return default_label if user_id.nil?
return "Unassigned" if user_id == "0"
- if @project
- member = @project.team.find_member(user_id)
- user = member.user if member
- else
- user = User.find_by(id: user_id)
- end
+ user = User.find_by(id: user_id)
if user
user.name
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index 323d563cd4a..cedff4af2e0 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -12,7 +12,7 @@
- if params[:author_id].present?
= hidden_field_tag(:author_id, params[:author_id])
= dropdown_tag(user_dropdown_label(params[:author_id], "Author"), options: { toggle_class: "js-user-search js-filter-submit js-author-search", title: "Filter by author", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable dropdown-menu-author js-filter-submit",
- placeholder: "Search authors", data: { any_user: "Any Author", first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), selected: params[:author_id], field_name: "author_id", default_label: "Author" } })
+ placeholder: "Search authors", data: { any_user: "Any Author", first_user: (current_user.username if current_user), current_user: true, project_id: (@project.id if @project), selected: params[:author], field_name: "author_id", default_label: "Author" } })
.filter-item.inline
- if params[:assignee_id].present?