mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-21 02:26:12 +10:00
Merge branch 'do_not_show_ldap_users_in_dropdowns' into 'master'
Do not show ldap users in dropdowns Fixes #160 See merge request !186
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
|
||||
# Return users list. Filtered by query
|
||||
# Only active users retrieved
|
||||
users: (query, callback) ->
|
||||
users: (query, skip_ldap, callback) ->
|
||||
url = Api.buildUrl(Api.users_path)
|
||||
|
||||
$.ajax(
|
||||
@@ -48,6 +48,7 @@
|
||||
search: query
|
||||
per_page: 20
|
||||
active: true
|
||||
skip_ldap: skip_ldap
|
||||
dataType: "json"
|
||||
).done (users) ->
|
||||
callback(users)
|
||||
|
||||
@@ -15,12 +15,14 @@ $ ->
|
||||
user.name
|
||||
|
||||
$('.ajax-users-select').each (i, select) ->
|
||||
skip_ldap = $(select).hasClass('skip_ldap')
|
||||
|
||||
$(select).select2
|
||||
placeholder: "Search for a user"
|
||||
multiple: $(select).hasClass('multiselect')
|
||||
minimumInputLength: 0
|
||||
query: (query) ->
|
||||
Api.users query.term, (users) ->
|
||||
Api.users query.term, skip_ldap, (users) ->
|
||||
data = { results: users }
|
||||
query.callback(data)
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ module SelectsHelper
|
||||
def users_select_tag(id, opts = {})
|
||||
css_class = "ajax-users-select "
|
||||
css_class << "multiselect " if opts[:multiple]
|
||||
css_class << "skip_ldap " if opts[:skip_ldap]
|
||||
css_class << (opts[:class] || '')
|
||||
value = opts[:selected] || ''
|
||||
|
||||
|
||||
@@ -90,6 +90,10 @@ class Group < Namespace
|
||||
ldap_group_links.first.try(:group_access)
|
||||
end
|
||||
|
||||
def ldap_synced?
|
||||
ldap_cn.present?
|
||||
end
|
||||
|
||||
class << self
|
||||
def search(query)
|
||||
where("LOWER(namespaces.name) LIKE :query", query: "%#{query.downcase}%")
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
= form_tag project_teams_update_admin_group_path(@group), id: "new_team_member", class: "bulk_import", method: :put do
|
||||
%div
|
||||
= users_select_tag(:user_ids, multiple: true)
|
||||
= users_select_tag(:user_ids, { multiple: true, skip_ldap: @group.ldap_synced? })
|
||||
%div.prepend-top-10
|
||||
= select_tag :group_access, options_for_select(UsersGroup.group_access_roles), class: "project-access-select select2"
|
||||
%hr
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
= form_for @users_group, url: group_users_groups_path(@group), html: { class: 'form-horizontal users-group-form' } do |f|
|
||||
.form-group
|
||||
= f.label :user_ids, "People", class: 'control-label'
|
||||
.col-sm-10= users_select_tag(:user_ids, multiple: true, class: 'input-large')
|
||||
.col-sm-10= users_select_tag(:user_ids, { multiple: true, skip_ldap: @group.ldap_synced? , class: 'input-large' })
|
||||
|
||||
.form-group
|
||||
= f.label :group_access, "Group Access", class: 'control-label'
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
.form-group
|
||||
= f.label :user_ids, "People", class: 'control-label'
|
||||
.col-sm-10
|
||||
= users_select_tag(:user_ids, multiple: true)
|
||||
= users_select_tag(:user_ids, { multiple: true, skip_ldap: @project.group.ldap_synced? })
|
||||
|
||||
%p 2. Set access level for them
|
||||
.form-group
|
||||
|
||||
@@ -9,8 +9,11 @@ module API
|
||||
# Example Request:
|
||||
# GET /users
|
||||
get do
|
||||
skip_ldap = params[:skip_ldap].present? && params[:skip_ldap] == 'true'
|
||||
|
||||
@users = User.all
|
||||
@users = @users.active if params[:active].present?
|
||||
@users = @users.where('provider != ? OR provider IS NULL', 'ldap') if skip_ldap
|
||||
@users = @users.search(params[:search]) if params[:search].present?
|
||||
@users = paginate @users
|
||||
|
||||
|
||||
Reference in New Issue
Block a user