2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-10 21:01:33 +08:00

table & model changes for group managers with permission to edit membership

This commit is contained in:
Jason W. May 2015-01-08 15:35:52 -08:00
parent 20d2908c50
commit a2b284a0a4
11 changed files with 205 additions and 0 deletions

View file

@ -35,6 +35,38 @@ class GroupsController < ApplicationController
}
end
def add_members
guardian.ensure_can_edit!(the_group)
added_users = []
usernames = params.require(:usernames)
usernames.split(",").each do |username|
if user = User.find_by_username(username)
unless the_group.users.include?(user)
the_group.add(user)
added_users << user
end
end
end
# always succeeds, even if bogus usernames were provided
render_serialized(added_users, GroupUserSerializer)
end
def remove_member
guardian.ensure_can_edit!(the_group)
removed_users = []
username = params.require(:username)
if user = User.find_by_username(username)
the_group.remove(user)
removed_users << user
end
# always succeeds, even if user was not a member
render_serialized(removed_users, GroupUserSerializer)
end
private
def find_group(param_name)
@ -44,4 +76,8 @@ class GroupsController < ApplicationController
group
end
def the_group
@the_group ||= find_group(:group_id)
end
end