DEV: Move min_trust_to_post_embedded_media to group setting (#25238)

c.f. https://meta.discourse.org/t/we-are-changing-giving-access-to-features/283408
This commit is contained in:
Martin Brennan
2024-01-25 09:50:59 +10:00
committed by GitHub
parent cf25fab9b0
commit 0e50f88212
22 changed files with 374 additions and 171 deletions

View File

@ -80,7 +80,7 @@ module DiscourseNarrativeBot
# The prerequisites should ensure only one of them is called.
tutorial_images: {
prerequisite:
Proc.new { @user.has_trust_level?(SiteSetting.min_trust_to_post_embedded_media) },
Proc.new { @user.in_any_groups?(SiteSetting.embedded_media_post_allowed_groups_map) },
next_state: :tutorial_likes,
next_instructions:
Proc.new { I18n.t("#{I18N_KEY}.likes.instructions", base_uri: Discourse.base_path) },
@ -93,7 +93,7 @@ module DiscourseNarrativeBot
},
tutorial_likes: {
prerequisite:
Proc.new { !@user.has_trust_level?(SiteSetting.min_trust_to_post_embedded_media) },
Proc.new { !@user.in_any_groups?(SiteSetting.embedded_media_post_allowed_groups_map) },
next_state: :tutorial_flag,
next_instructions:
Proc.new do

View File

@ -31,6 +31,7 @@ RSpec.describe DiscourseNarrativeBot::NewUserNarrative do
stub_image_size
Jobs.run_immediately!
SiteSetting.discourse_narrative_bot_enabled = true
Group.refresh_automatic_groups!
end
describe "#notify_timeout" do
@ -828,8 +829,11 @@ RSpec.describe DiscourseNarrativeBot::NewUserNarrative do
end
end
describe "when min_trust_to_post_embedded_media is too high" do
before { SiteSetting.min_trust_to_post_embedded_media = 4 }
describe "when embedded_media_post_allowed_groups does not include the user" do
before do
SiteSetting.embedded_media_post_allowed_groups = Group::AUTO_GROUPS[:trust_level_4]
Group.refresh_automatic_groups!
end
it "should skip the images tutorial step" do
post.update!(