discourse/plugins/poll/lib/post_validator.rb
Martin Brennan a03f87bdbd
DEV: Move core plugin TL -> group settings (#25355)
* 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
2024-01-23 11:35:14 +10:00

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