posts: add is_taken_down flag.

Posts with the is_taken_down flag are "double-banned" and only visible to moderators.
This commit is contained in:
evazion
2022-05-03 04:52:28 -05:00
parent ac98c142a4
commit 48b8daa397

View File

@@ -11,6 +11,7 @@ class Post < ApplicationRecord
RESTRICTED_TAGS_REGEX = /(?:^| )(?:#{Danbooru.config.restricted_tags.join("|")})(?:$| )/o
deletable
has_bit_flags %w[has_embedded_notes is_taken_down]
normalize :source, :normalize_source
before_validation :merge_old_changes
@@ -1509,8 +1510,6 @@ class Post < ApplicationRecord
end
end
has_bit_flags ["has_embedded_notes"]
def safeblocked?
CurrentUser.safe_mode? && (rating != "s" || Danbooru.config.safe_mode_restricted_tags.any? { |tag| tag.in?(tag_array) })
end
@@ -1521,8 +1520,10 @@ class Post < ApplicationRecord
end
def banblocked?(user = CurrentUser.user)
return false unless is_banned?
(has_tag?("paid_reward") && !user.is_approver?) || !user.is_gold?
return true if is_taken_down? && !user.is_moderator?
return true if is_banned? && has_tag?("paid_reward") && !user.is_approver?
return true if is_banned? && !user.is_gold?
false
end
def visible?(user = CurrentUser.user)