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:
authorStan Hu <stanhu@gmail.com>2015-03-31 09:53:42 +0300
committerStan Hu <stanhu@gmail.com>2015-04-09 11:04:53 +0300
commit3d2c3878408bd27af64293a22eff6857ad9b38dd (patch)
tree13e35e9024d7998d1c164c8a288562b3465d013f /app
parentf3f856029bc5f966c5a7ee24cf7efefdd20e6019 (diff)
Move current user to the top of the list in author/assignee filters
Closes #1321
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/users_select.js.coffee8
-rw-r--r--app/helpers/selects_helper.rb2
-rw-r--r--app/views/projects/issues/_issue_context.html.haml2
-rw-r--r--app/views/shared/_issuable_filter.html.haml4
4 files changed, 13 insertions, 3 deletions
diff --git a/app/assets/javascripts/users_select.js.coffee b/app/assets/javascripts/users_select.js.coffee
index f464067686e..ccd85f2455d 100644
--- a/app/assets/javascripts/users_select.js.coffee
+++ b/app/assets/javascripts/users_select.js.coffee
@@ -8,6 +8,7 @@ class @UsersSelect
@groupId = $(select).data('group-id')
showNullUser = $(select).data('null-user')
showAnyUser = $(select).data('any-user')
+ firstUser = $(select).data('first-user')
$(select).select2
placeholder: "Search for a user"
@@ -32,6 +33,13 @@ class @UsersSelect
id: 0
}
+ if firstUser
+ # Move current user to the front of the list
+ for obj, index in data.results
+ if obj.username == firstUser
+ data.results.splice(index, 1)
+ data.results.unshift(obj)
+ break
if showNullUser
data.results.unshift(nullUser)
if showAnyUser
diff --git a/app/helpers/selects_helper.rb b/app/helpers/selects_helper.rb
index 457cd3fa46b..54e0f4f9b3e 100644
--- a/app/helpers/selects_helper.rb
+++ b/app/helpers/selects_helper.rb
@@ -8,12 +8,14 @@ module SelectsHelper
null_user = opts[:null_user] || false
any_user = opts[:any_user] || false
+ first_user = opts[:first_user] && current_user ? current_user.username : false
html = {
class: css_class,
'data-placeholder' => placeholder,
'data-null-user' => null_user,
'data-any-user' => any_user,
+ 'data-first-user' => first_user
}
unless opts[:scope] == :all
diff --git a/app/views/projects/issues/_issue_context.html.haml b/app/views/projects/issues/_issue_context.html.haml
index 52e38050419..9228074d833 100644
--- a/app/views/projects/issues/_issue_context.html.haml
+++ b/app/views/projects/issues/_issue_context.html.haml
@@ -8,7 +8,7 @@
- else
none
- if can?(current_user, :modify_issue, @issue)
- = users_select_tag('issue[assignee_id]', placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: @issue.assignee_id, null_user: true)
+ = users_select_tag('issue[assignee_id]', placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: @issue.assignee_id, null_user: true, first_user: true)
%div.prepend-top-20.clearfix
.issuable-context-title
diff --git a/app/views/shared/_issuable_filter.html.haml b/app/views/shared/_issuable_filter.html.haml
index f169733f2e9..83f5a3a8015 100644
--- a/app/views/shared/_issuable_filter.html.haml
+++ b/app/views/shared/_issuable_filter.html.haml
@@ -24,11 +24,11 @@
.issues-other-filters
.filter-item.inline
= users_select_tag(:assignee_id, selected: params[:assignee_id],
- placeholder: 'Assignee', class: 'trigger-submit', any_user: true, null_user: true)
+ placeholder: 'Assignee', class: 'trigger-submit', any_user: true, null_user: true, first_user: true)
.filter-item.inline
= users_select_tag(:author_id, selected: params[:author_id],
- placeholder: 'Author', class: 'trigger-submit', any_user: true)
+ placeholder: 'Author', class: 'trigger-submit', any_user: true, first_user: true)
.filter-item.inline.milestone-filter
= select_tag('milestone_id', projects_milestones_options, class: "select2 trigger-submit", prompt: 'Milestone')