diff --git a/app/logical/anonymous_user.rb b/app/logical/anonymous_user.rb
index 9215ace0c..eafd3f2fe 100644
--- a/app/logical/anonymous_user.rb
+++ b/app/logical/anonymous_user.rb
@@ -176,6 +176,10 @@ class AnonymousUser
def per_page
Danbooru.config.posts_per_page
end
+
+ def hide_deleted_posts?
+ false
+ end
%w(member banned privileged builder platinum contributor janitor moderator admin).each do |name|
define_method("is_#{name}?") do
diff --git a/app/logical/post_query_builder.rb b/app/logical/post_query_builder.rb
index 739748356..ac2971ccc 100644
--- a/app/logical/post_query_builder.rb
+++ b/app/logical/post_query_builder.rb
@@ -147,6 +147,8 @@ class PostQueryBuilder
relation = relation.where("posts.is_flagged = FALSE")
elsif q[:status_neg] == "deleted"
relation = relation.where("posts.is_deleted = FALSE")
+ elsif CurrentUser.user.hide_deleted_posts?
+ relation = relation.where("posts.is_deleted = FALSE")
end
if q[:source]
diff --git a/app/models/user.rb b/app/models/user.rb
index 8547ae4af..adce5c8c9 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -17,7 +17,7 @@ class User < ActiveRecord::Base
end
attr_accessor :password, :old_password
- attr_accessible :enable_privacy_mode, :enable_post_navigation, :new_post_navigation_layout, :password, :old_password, :password_confirmation, :password_hash, :email, :last_logged_in_at, :last_forum_read_at, :has_mail, :receive_email_notifications, :comment_threshold, :always_resize_images, :favorite_tags, :blacklisted_tags, :name, :ip_addr, :time_zone, :default_image_size, :enable_sequential_post_navigation, :per_page, :as => [:moderator, :janitor, :contributor, :privileged, :member, :anonymous, :default, :builder, :admin]
+ attr_accessible :enable_privacy_mode, :enable_post_navigation, :new_post_navigation_layout, :password, :old_password, :password_confirmation, :password_hash, :email, :last_logged_in_at, :last_forum_read_at, :has_mail, :receive_email_notifications, :comment_threshold, :always_resize_images, :favorite_tags, :blacklisted_tags, :name, :ip_addr, :time_zone, :default_image_size, :enable_sequential_post_navigation, :per_page, :hide_deleted_posts, :as => [:moderator, :janitor, :contributor, :privileged, :member, :anonymous, :default, :builder, :admin]
attr_accessible :level, :as => :admin
validates_length_of :name, :within => 2..100, :on => :create
validates_format_of :name, :with => /\A[^\s:]+\Z/, :on => :create, :message => "cannot have whitespace or colons"
diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb
index 4f605f7fd..0a9456c6d 100644
--- a/app/views/users/edit.html.erb
+++ b/app/views/users/edit.html.erb
@@ -4,6 +4,7 @@
<%= simple_form_for @user do |f| %>