FIX: allow create events for everyone group (#726)
When `discourse_post_event_allowed_on_groups` is set to `everyone`, everyone should be able to create post events.
This commit is contained in:
parent
89a90d892f
commit
42d6ccf44d
|
@ -158,7 +158,11 @@ after_initialize do
|
|||
begin
|
||||
return true if staff?
|
||||
allowed_groups = SiteSetting.discourse_post_event_allowed_on_groups.to_s.split("|").compact
|
||||
allowed_groups.present? && groups.where(id: allowed_groups).exists?
|
||||
allowed_groups.present? &&
|
||||
(
|
||||
allowed_groups.include?(Group::AUTO_GROUPS[:everyone].to_s) ||
|
||||
groups.where(id: allowed_groups).exists?
|
||||
)
|
||||
rescue StandardError
|
||||
false
|
||||
end
|
||||
|
|
|
@ -46,6 +46,17 @@ describe User do
|
|||
end
|
||||
end
|
||||
|
||||
context "when allowed group is 'everyone'" do
|
||||
let(:topic_1) { Fabricate(:topic, user: user_1) }
|
||||
let(:post_1) { Fabricate(:post, topic: topic_1, user: user_1) }
|
||||
let(:post_event_1) { Fabricate(:event, post: post_1) }
|
||||
|
||||
it "can act on the event" do
|
||||
SiteSetting.discourse_post_event_allowed_on_groups = Group::AUTO_GROUPS[:everyone]
|
||||
expect(user_1.can_act_on_discourse_post_event?(post_event_1)).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
context "when user didn’t create the event" do
|
||||
let(:user_2) { Fabricate(:user) }
|
||||
let(:topic_1) { Fabricate(:topic, user: user_2) }
|
||||
|
|
Loading…
Reference in New Issue