This commit is contained in:
albert
2013-03-23 12:06:49 -04:00
parent 7f5bdb0121
commit 2378e91006
6 changed files with 28 additions and 7 deletions

View File

@@ -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

View File

@@ -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]

View File

@@ -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"

View File

@@ -4,6 +4,7 @@
<%= simple_form_for @user do |f| %>
<fieldset>
<legend>Basic Settings</legend>
<div class="input">
<label>Name</label>
<p>Name changes are not supported. <%= link_to "Read why", name_change_path %>.</p>
@@ -12,16 +13,22 @@
<%= f.input :time_zone, :include_blank => false %>
<%= f.input :receive_email_notifications, :as => :select, :include_blank => false %>
<%= f.input :comment_threshold, :hint => "Comments below this score will be hidden by default" %>
<%= f.input :always_resize_images, :as => :select, :include_blank => false, :label => "Fit images to window", :hint => "Use JavaScript to resize images to fit window" %>
<%= f.input :default_image_size, :hint => "Show original image or show resampled #{Danbooru.config.large_image_width} pixel version", :label => "Image size", :collection => %w(large original), :include_blank => false %>
<%= f.input :enable_post_navigation, :as => :select, :include_blank => false, :label => "Enable keyboard shortcuts" %>
<%= f.input :new_post_navigation_layout, :as => :select, :label => "Pool links", :include_blank => false, :collection => [["Bottom", "true"], ["Top", "false"]], :hint => "When browsing pools, where do you want the navigation links to be placed?" %>
<%= f.input :enable_sequential_post_navigation, :as => :select, :label => "Enable slideshow mode", :hint => "Show prev/next links when viewing a post", :include_blank => false %>
<%= f.input :per_page, :label => "Posts per page", :as => :select, :collection => (1..100), :include_blank => false %>
<%= f.input :blacklisted_tags, :hint => "Put any tag combinations you never want to see here. Each combination should go on a separate line.", :input_html => {:size => "40x5"} %>
</fieldset>
<fieldset>
<legend>Advanced Settings</legend>
<%= f.input :always_resize_images, :as => :select, :include_blank => false, :label => "Fit images to window", :hint => "Use JavaScript to resize images to fit window" %>
<%= f.input :enable_post_navigation, :as => :select, :include_blank => false, :label => "Enable keyboard shortcuts" %>
<%= f.input :new_post_navigation_layout, :as => :select, :label => "Pool links", :include_blank => false, :collection => [["Bottom", "true"], ["Top", "false"]], :hint => "When browsing pools, where do you want the navigation links to be placed?" %>
<%= f.input :enable_sequential_post_navigation, :as => :select, :label => "Enable slideshow mode", :hint => "Show prev/next links when viewing a post", :include_blank => false %>
<%= f.input :hide_deleted_posts, :as => :select, :label => "Deleted post filter", :hint => "Hide deleted posts at the database level", :include_blank => false, :collection => [["Yes", "true"], ["No", "false"]] %>
</fieldset>
<fieldset>
<legend>Change Password</legend>
<%= f.input :password, :hint => "Leave blank if you don't want to change your password", :label => "New password", :input_html => {:autocomplete => "off"} %>
<%= f.input :old_password, :as => :password, :input_html => {:autocomplete => "off"} %>
</fieldset>

View File

@@ -0,0 +1,5 @@
class AddHideDeletedPostsToUsers < ActiveRecord::Migration
def change
add_column :users, :hide_deleted_posts, :boolean, :null => false, :default => false
end
end

View File

@@ -2607,7 +2607,8 @@ CREATE TABLE users (
new_post_navigation_layout boolean DEFAULT true NOT NULL,
enable_privacy_mode boolean DEFAULT false NOT NULL,
enable_sequential_post_navigation boolean DEFAULT true NOT NULL,
per_page integer DEFAULT 20 NOT NULL
per_page integer DEFAULT 20 NOT NULL,
hide_deleted_posts boolean DEFAULT false NOT NULL
);
@@ -6275,4 +6276,6 @@ INSERT INTO schema_migrations (version) VALUES ('20130322162059');
INSERT INTO schema_migrations (version) VALUES ('20130322173202');
INSERT INTO schema_migrations (version) VALUES ('20130322173859');
INSERT INTO schema_migrations (version) VALUES ('20130322173859');
INSERT INTO schema_migrations (version) VALUES ('20130323160259');