discourse/lib/discourse_dev/reviewable_user.rb
Krzysztof Kotlarek eaab890aa5
DEV: Limit dev reviewable seeding to unapproved users (#35676)
Filter the dev seed candidates to users still pending approval so the
seeded review queue stays actionable
2025-10-29 16:00:34 +08:00

38 lines
1,020 B
Ruby

# frozen_string_literal: true
require "discourse_dev/reviewable"
require "faker"
module DiscourseDev
class ReviewableUser < Reviewable
def populate!
reasons = %i[must_approve_users invite_only suspect_user]
@users
.reject(&:approved?)
.sample(reasons.size)
.zip(reasons)
.each do |(user, reason)|
reviewable =
::ReviewableUser.needs_review!(
target: user,
created_by: Discourse.system_user,
reviewable_by_moderator: true,
payload: {
username: user.username,
name: user.name,
email: user.email,
bio: user.user_profile&.bio_raw,
website: user.user_profile&.website,
},
)
reviewable.add_score(
Discourse.system_user,
ReviewableScore.types[:needs_approval],
reason:,
force_review: true,
)
end
end
end
end