users: add 'show deleted posts' account setting.
Add an account setting to always show deleted posts in searches. This only applies to searches, not to thumbnails in other places. Fixes #4512.
This commit is contained in:
@@ -303,7 +303,7 @@ module ApplicationHelper
|
|||||||
id name level level_string theme always_resize_images can_upload_free
|
id name level level_string theme always_resize_images can_upload_free
|
||||||
can_approve_posts disable_categorized_saved_searches
|
can_approve_posts disable_categorized_saved_searches
|
||||||
disable_mobile_gestures disable_post_tooltips enable_safe_mode
|
disable_mobile_gestures disable_post_tooltips enable_safe_mode
|
||||||
show_deleted_children style_usernames
|
show_deleted_posts show_deleted_children style_usernames
|
||||||
default_image_size
|
default_image_size
|
||||||
] + User::Roles.map { |role| :"is_#{role}?" }
|
] + User::Roles.map { |role| :"is_#{role}?" }
|
||||||
|
|
||||||
|
|||||||
@@ -12,11 +12,12 @@ module PostSets
|
|||||||
MAX_SIDEBAR_TAGS = 25
|
MAX_SIDEBAR_TAGS = 25
|
||||||
MAX_WILDCARD_TAGS = PostQueryBuilder::MAX_WILDCARD_TAGS
|
MAX_WILDCARD_TAGS = PostQueryBuilder::MAX_WILDCARD_TAGS
|
||||||
|
|
||||||
attr_reader :page, :format, :tag_string, :query, :post_query, :normalized_query, :show_votes
|
attr_reader :current_user, :page, :format, :tag_string, :query, :post_query, :normalized_query, :show_votes
|
||||||
delegate :tag, to: :post_query
|
delegate :tag, to: :post_query
|
||||||
alias_method :show_votes?, :show_votes
|
alias_method :show_votes?, :show_votes
|
||||||
|
|
||||||
def initialize(tags, page = 1, per_page = nil, user: CurrentUser.user, format: "html", show_votes: false)
|
def initialize(tags, page = 1, per_page = nil, user: CurrentUser.user, format: "html", show_votes: false)
|
||||||
|
@current_user = user
|
||||||
@query = PostQueryBuilder.new(tags, user, tag_limit: user.tag_query_limit, safe_mode: CurrentUser.safe_mode?)
|
@query = PostQueryBuilder.new(tags, user, tag_limit: user.tag_query_limit, safe_mode: CurrentUser.safe_mode?)
|
||||||
@post_query = PostQuery.normalize(tags, current_user: user, tag_limit: user.tag_query_limit, safe_mode: CurrentUser.safe_mode?)
|
@post_query = PostQuery.normalize(tags, current_user: user, tag_limit: user.tag_query_limit, safe_mode: CurrentUser.safe_mode?)
|
||||||
@normalized_query = post_query.with_implicit_metatags
|
@normalized_query = post_query.with_implicit_metatags
|
||||||
@@ -134,6 +135,10 @@ module PostSets
|
|||||||
end
|
end
|
||||||
|
|
||||||
def show_deleted?
|
def show_deleted?
|
||||||
|
current_user.show_deleted_posts? || has_status_metatag?
|
||||||
|
end
|
||||||
|
|
||||||
|
def has_status_metatag?
|
||||||
post_query.select_metatags("status").any? do |metatag|
|
post_query.select_metatags("status").any? do |metatag|
|
||||||
metatag.value.downcase.in?(%w[all any active unmoderated modqueue deleted appealed])
|
metatag.value.downcase.in?(%w[all any active unmoderated modqueue deleted appealed])
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ class User < ApplicationRecord
|
|||||||
no_feedback
|
no_feedback
|
||||||
requires_verification
|
requires_verification
|
||||||
is_verified
|
is_verified
|
||||||
|
show_deleted_posts
|
||||||
]
|
]
|
||||||
|
|
||||||
DEFAULT_BLACKLIST = ["guro", "scat", "furry -rating:s"].join("\n")
|
DEFAULT_BLACKLIST = ["guro", "scat", "furry -rating:s"].join("\n")
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ class UserPolicy < ApplicationPolicy
|
|||||||
blacklisted_tags time_zone per_page custom_style theme
|
blacklisted_tags time_zone per_page custom_style theme
|
||||||
receive_email_notifications always_resize_images
|
receive_email_notifications always_resize_images
|
||||||
new_post_navigation_layout enable_private_favorites
|
new_post_navigation_layout enable_private_favorites
|
||||||
style_usernames show_deleted_children
|
style_usernames show_deleted_posts show_deleted_children
|
||||||
disable_categorized_saved_searches disable_tagged_filenames
|
disable_categorized_saved_searches disable_tagged_filenames
|
||||||
disable_mobile_gestures enable_safe_mode
|
disable_mobile_gestures enable_safe_mode
|
||||||
enable_desktop_mode disable_post_tooltips
|
enable_desktop_mode disable_post_tooltips
|
||||||
|
|||||||
@@ -60,6 +60,7 @@
|
|||||||
|
|
||||||
<%= f.input :style_usernames, :as => :select, :label => "Colored usernames", :hint => "Color users according to their user level", :include_blank => false, :collection => [["Yes", "true"], ["No", "false"]] %>
|
<%= f.input :style_usernames, :as => :select, :label => "Colored usernames", :hint => "Color users according to their user level", :include_blank => false, :collection => [["Yes", "true"], ["No", "false"]] %>
|
||||||
<%= f.input :new_post_navigation_layout, :as => :select, :label => "Navigation bar position", :include_blank => false, :collection => [["Below", "true"], ["Above", "false"]], :hint => "When browsing pools or posts, place navigation links above or below the image" %>
|
<%= f.input :new_post_navigation_layout, :as => :select, :label => "Navigation bar position", :include_blank => false, :collection => [["Below", "true"], ["Above", "false"]], :hint => "When browsing pools or posts, place navigation links above or below the image" %>
|
||||||
|
<%= f.input :show_deleted_posts, as: :select, hint: "Show deleted posts in searches", collection: [["No", "false"], ["Yes", "true"]], include_blank: false %>
|
||||||
<%= f.input :show_deleted_children, :as => :select, :label => "Show deleted children", :hint => "Show thumbnail borders on parent posts even if the children are deleted", :include_blank => false, :collection => [["Yes", "true"], ["No", "false"]] %>
|
<%= f.input :show_deleted_children, :as => :select, :label => "Show deleted children", :hint => "Show thumbnail borders on parent posts even if the children are deleted", :include_blank => false, :collection => [["Yes", "true"], ["No", "false"]] %>
|
||||||
<%= f.input :disable_categorized_saved_searches, :hint => "Don't show dialog box when creating a new saved search", :as => :select, :collection => [["No", "false"], ["Yes", "true"]], :include_blank => false %>
|
<%= f.input :disable_categorized_saved_searches, :hint => "Don't show dialog box when creating a new saved search", :as => :select, :collection => [["No", "false"], ["Yes", "true"]], :include_blank => false %>
|
||||||
<% if policy(@user).can_enable_private_favorites? %>
|
<% if policy(@user).can_enable_private_favorites? %>
|
||||||
|
|||||||
Reference in New Issue
Block a user