Merge pull request #226 from paviliondev/guest_permissions_user_access_fix
Dieser Commit ist enthalten in:
Commit
c2c86b12c2
3 geänderte Dateien mit 29 neuen und 1 gelöschten Zeilen
|
@ -230,6 +230,7 @@ class CustomWizard::Wizard
|
|||
m[:type] === 'assignment' && [*m[:result]].include?(GUEST_GROUP_ID)
|
||||
else
|
||||
if m[:type] === 'assignment'
|
||||
[*m[:result]].include?(GUEST_GROUP_ID) ||
|
||||
[*m[:result]].include?(Group::AUTO_GROUPS[:everyone]) ||
|
||||
GroupUser.exists?(group_id: m[:result], user_id: user.id)
|
||||
elsif m[:type] === 'validation'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
# name: discourse-custom-wizard
|
||||
# about: Forms for Discourse. Better onboarding, structured posting, data enrichment, automated actions and much more.
|
||||
# version: 2.2.4
|
||||
# version: 2.2.5
|
||||
# authors: Angus McLeod, Faizaan Gagan, Robert Barrow, Keegan George, Kaitlin Maddever
|
||||
# url: https://github.com/paviliondev/discourse-custom-wizard
|
||||
# contact_emails: development@pavilion.tech
|
||||
|
|
|
@ -6,11 +6,14 @@ describe CustomWizard::Wizard do
|
|||
fab!(:admin_user) { Fabricate(:user, admin: true) }
|
||||
let(:template_json) { get_wizard_fixture("wizard") }
|
||||
let(:permitted_json) { get_wizard_fixture("wizard/permitted") }
|
||||
let(:guests_permitted_json) { get_wizard_fixture("wizard/guests_permitted") }
|
||||
|
||||
before do
|
||||
Group.refresh_automatic_group!(:trust_level_3)
|
||||
@permitted_template = template_json.dup
|
||||
@permitted_template["permitted"] = permitted_json["permitted"]
|
||||
@guests_permitted_template = template_json.dup
|
||||
@guests_permitted_template["permitted"] = guests_permitted_json["permitted"]
|
||||
@wizard = CustomWizard::Wizard.new(template_json, user)
|
||||
end
|
||||
|
||||
|
@ -200,6 +203,30 @@ describe CustomWizard::Wizard do
|
|||
end
|
||||
end
|
||||
|
||||
context "with subscription and guest wizard" do
|
||||
before do
|
||||
enable_subscription("standard")
|
||||
end
|
||||
|
||||
it "permits admins" do
|
||||
expect(
|
||||
CustomWizard::Wizard.new(@guests_permitted_template, admin_user).permitted?
|
||||
).to eq(true)
|
||||
end
|
||||
|
||||
it "permits regular users" do
|
||||
expect(
|
||||
CustomWizard::Wizard.new(@guests_permitted_template, user).permitted?
|
||||
).to eq(true)
|
||||
end
|
||||
|
||||
it "permits guests" do
|
||||
expect(
|
||||
CustomWizard::Wizard.new(@guests_permitted_template, nil, "guest123").permitted?
|
||||
).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
context "submissions" do
|
||||
before do
|
||||
CustomWizard::Submission.new(@wizard, step_1_field_1: "I am a user submission").save
|
||||
|
|
Laden …
In neuem Issue referenzieren