mirror of
https://github.com/discourse/discourse.git
synced 2025-05-26 06:01:43 +08:00
DEV: Show failed to remove members from bulk groups api
Before this commit if you were bulk removing group members and passed in a user who wasn't currently a member of that group the whole request would fail. This change will return a 200 response now listing the users that were removed and those that were skipped.
This commit is contained in:
@ -412,16 +412,25 @@ class GroupsController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
removed_users = []
|
||||
skipped_users = []
|
||||
|
||||
users.each do |user|
|
||||
if group.remove(user)
|
||||
removed_users << user.username
|
||||
GroupActionLogger.new(current_user, group).log_remove_user_from_group(user)
|
||||
else
|
||||
raise Discourse::InvalidParameters
|
||||
if group.users.exclude? user
|
||||
skipped_users << user.username
|
||||
else
|
||||
raise Discourse::InvalidParameters
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
render json: success_json.merge!(
|
||||
usernames: users.map(&:username)
|
||||
usernames: removed_users,
|
||||
skipped_usernames: skipped_users
|
||||
)
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user