mirror of
https://github.com/discourse/discourse.git
synced 2024-12-30 10:23:48 +08:00
a03f87bdbd
* DEV: Change poll_minimum_trust_level_to_create to group based setting New setting is poll_create_allowed_groups c.f. https://meta.discourse.org/t/changes-coming-to-settings-for-giving-access-to-features-from-trust-levels-to-groups/283408 * DEV: Move styleguide_admin_only to group based setting Not exactly a TL -> group change, but still part of the overall effort here: https://meta.discourse.org/t/changes-coming-to-settings-for-giving-access-to-features-from-trust-levels-to-groups/283408 New setting is styleguide_allowed_groups
25 lines
554 B
Ruby
25 lines
554 B
Ruby
# frozen_string_literal: true
|
|
|
|
module DiscoursePoll
|
|
class PostValidator
|
|
def initialize(post)
|
|
@post = post
|
|
end
|
|
|
|
def validate_post
|
|
if (
|
|
@post.acting_user &&
|
|
(
|
|
@post.acting_user.staff? ||
|
|
@post.acting_user.in_any_groups?(SiteSetting.poll_create_allowed_groups_map)
|
|
)
|
|
) || @post.topic&.pm_with_non_human_user?
|
|
true
|
|
else
|
|
@post.errors.add(:base, I18n.t("poll.insufficient_rights_to_create"))
|
|
false
|
|
end
|
|
end
|
|
end
|
|
end
|