Improved Group Member Management on User Administration

Allows for a quick and easy group membership management on the
user-administration page. Uses the select2 UI component to
autosuggest other groups, remove existing ones and lock in automatic
groups.
This commit is contained in:
Benjamin Kampmann
2014-07-13 20:11:38 +02:00
parent 2a40c04480
commit ac3f1ba3d6
7 changed files with 96 additions and 9 deletions

View File

@ -17,6 +17,8 @@ class Admin::UsersController < Admin::AdminController
:block,
:unblock,
:trust_level,
:add_group,
:remove_group,
:primary_group,
:generate_api_key,
:revoke_api_key]
@ -101,6 +103,21 @@ class Admin::UsersController < Admin::AdminController
render_serialized(@user, AdminUserSerializer)
end
def add_group
group = Group.find(params[:group_id].to_i)
return render_json_error group unless group && !group.automatic
group.users << @user
render nothing: true
end
def remove_group
group = Group.find(params[:group_id].to_i)
return render_json_error group unless group && !group.automatic
group.users.delete(@user)
render nothing: true
end
def primary_group
guardian.ensure_can_change_primary_group!(@user)
@user.primary_group_id = params[:primary_group_id]