diff options
author | Sean McGivern <sean@gitlab.com> | 2016-07-13 15:38:21 +0100 |
---|---|---|
committer | Sean McGivern <sean@gitlab.com> | 2016-07-27 14:10:49 +0100 |
commit | dc4de2d8e2a42640cc24816fd28112c2f2d0bc91 (patch) | |
tree | 31b0b71bbf9cc0130fb3f7577af3d6fc9df8c152 /app/helpers/selects_helper.rb | |
parent | aed644ccc084223cb1f9c5d955569c5ff9eeaf88 (diff) | |
download | gitlab-ce-dc4de2d8e2a42640cc24816fd28112c2f2d0bc91.tar.gz |
Allow skipping users in autocompleteallow-skipping-users-in-autocomplete
Pass an array of user IDs in the `skip_users` param to have them
excluded from the results (unless they are explicitly included through
the `current_user` or `author_id` params).
Diffstat (limited to 'app/helpers/selects_helper.rb')
-rw-r--r-- | app/helpers/selects_helper.rb | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/app/helpers/selects_helper.rb b/app/helpers/selects_helper.rb index bb395e37884..5f27e33c6ad 100644 --- a/app/helpers/selects_helper.rb +++ b/app/helpers/selects_helper.rb @@ -5,21 +5,9 @@ module SelectsHelper css_class << "skip_ldap " if opts[:skip_ldap] css_class << (opts[:class] || '') value = opts[:selected] || '' - - first_user = opts[:first_user] && current_user ? current_user.username : false - html = { class: css_class, - data: { - placeholder: opts[:placeholder] || 'Search for a user', - null_user: opts[:null_user] || false, - any_user: opts[:any_user] || false, - email_user: opts[:email_user] || false, - first_user: first_user, - current_user: opts[:current_user] || false, - "push-code-to-protected-branches" => opts[:push_code_to_protected_branches], - author_id: opts[:author_id] || '' - } + data: users_select_data_attributes(opts) } unless opts[:scope] == :all @@ -68,4 +56,20 @@ module SelectsHelper hidden_field_tag(id, value, class: css_class) end + + private + + def users_select_data_attributes(opts) + { + placeholder: opts[:placeholder] || 'Search for a user', + null_user: opts[:null_user] || false, + any_user: opts[:any_user] || false, + email_user: opts[:email_user] || false, + first_user: opts[:first_user] && current_user ? current_user.username : false, + current_user: opts[:current_user] || false, + "push-code-to-protected-branches" => opts[:push_code_to_protected_branches], + author_id: opts[:author_id] || '', + skip_users: opts[:skip_users] ? opts[:skip_users].map(&:id) : nil, + } + end end |