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?
|
unless current_user.staff?
|
||||||
RateLimiter.new(current_user, "public_group_membership", 3, 1.minute).performed!
|
RateLimiter.new(current_user, "public_group_membership", 3, 1.minute).performed!
|
||||||
end
|
end
|
||||||
|
elsif !current_user.has_trust_level?(SiteSetting.min_trust_level_to_allow_invite.to_i)
|
||||||
|
raise Discourse::InvalidAccess
|
||||||
end
|
end
|
||||||
|
|
||||||
emails = []
|
emails = []
|
||||||
|
@ -1211,6 +1211,16 @@ describe GroupsController do
|
|||||||
expect(Topic.last.topic_users.map(&:user_id)).to include(Discourse::SYSTEM_USER_ID, user2.id)
|
expect(Topic.last.topic_users.map(&:user_id)).to include(Discourse::SYSTEM_USER_ID, user2.id)
|
||||||
end
|
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
|
context "is able to add several members to a group" do
|
||||||
fab!(:user1) { Fabricate(:user) }
|
fab!(:user1) { Fabricate(:user) }
|
||||||
fab!(:user2) { Fabricate(:user, username: "UsEr2") }
|
fab!(:user2) { Fabricate(:user, username: "UsEr2") }
|
||||||
|
Loading…
Reference in New Issue
Block a user