diff options
author | Stan Hu <stanhu@gmail.com> | 2015-03-31 09:53:42 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-04-09 11:04:53 +0300 |
commit | 3d2c3878408bd27af64293a22eff6857ad9b38dd (patch) | |
tree | 13e35e9024d7998d1c164c8a288562b3465d013f /app | |
parent | f3f856029bc5f966c5a7ee24cf7efefdd20e6019 (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.coffee | 8 | ||||
-rw-r--r-- | app/helpers/selects_helper.rb | 2 | ||||
-rw-r--r-- | app/views/projects/issues/_issue_context.html.haml | 2 | ||||
-rw-r--r-- | app/views/shared/_issuable_filter.html.haml | 4 |
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') |