mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: check trust level of user creating invite for group (#12993)
This commit is contained in:
parent
02f0acc41b
commit
c473cde997
@ -322,6 +322,8 @@ class GroupsController < ApplicationController
|
||||
unless current_user.staff?
|
||||
RateLimiter.new(current_user, "public_group_membership", 3, 1.minute).performed!
|
||||
end
|
||||
elsif !current_user.has_trust_level?(SiteSetting.min_trust_level_to_allow_invite.to_i)
|
||||
raise Discourse::InvalidAccess
|
||||
end
|
||||
|
||||
emails = []
|
||||
|
@ -1211,6 +1211,16 @@ describe GroupsController do
|
||||
expect(Topic.last.topic_users.map(&:user_id)).to include(Discourse::SYSTEM_USER_ID, user2.id)
|
||||
end
|
||||
|
||||
it 'does not add users without sufficient permission' do
|
||||
sign_in(user)
|
||||
SiteSetting.min_trust_level_to_allow_invite = user.trust_level + 1
|
||||
user2 = Fabricate(:user)
|
||||
|
||||
put "/groups/#{group.id}/members.json", params: { usernames: user2.username }
|
||||
|
||||
expect(response.status).to eq(403)
|
||||
end
|
||||
|
||||
context "is able to add several members to a group" do
|
||||
fab!(:user1) { Fabricate(:user) }
|
||||
fab!(:user2) { Fabricate(:user, username: "UsEr2") }
|
||||
|
Loading…
Reference in New Issue
Block a user