mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Convert min_trust_to_edit_post to groups (#24840)
We're changing the implementation of trust levels to use groups. Part of this is to have site settings that reference trust levels use groups instead. It converts the min_trust_to_edit_post site setting to edit_post_allowed_groups. The old implementation will co-exist for a short period while I update any references in plugins and themes.
This commit is contained in:
@@ -4,13 +4,22 @@ module LimitedEdit
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def edit_time_limit_expired?(user)
|
||||
return true if user.trust_level < SiteSetting.min_trust_to_edit_post
|
||||
return true if !trusted_with_edits?(user)
|
||||
time_limit = user_time_limit(user)
|
||||
created_at && (time_limit > 0) && (created_at < time_limit.minutes.ago)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# TODO: This duplicates some functionality from PostGuardian. This should
|
||||
# probably be checked there instead, because this has nothing to do
|
||||
# with time limits.
|
||||
#
|
||||
def trusted_with_edits?(user)
|
||||
user.trust_level >= SiteSetting.min_trust_to_edit_post ||
|
||||
user.in_any_groups?(SiteSetting.edit_post_allowed_groups_map)
|
||||
end
|
||||
|
||||
def user_time_limit(user)
|
||||
if user.trust_level < 2
|
||||
SiteSetting.post_edit_time_limit.to_i
|
||||
|
||||
Reference in New Issue
Block a user