diff --git a/app/models/post.rb b/app/models/post.rb index 430bbc3b4..86ed69975 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -1032,10 +1032,6 @@ class Post < ActiveRecord::Base where("is_deleted = ?", true) end - def visible(user) - Danbooru.config.can_user_see_post_conditions(user) - end - def commented_before(date) where("last_commented_at < ?", date).order("last_commented_at DESC") end @@ -1151,6 +1147,13 @@ class Post < ActiveRecord::Base extend SearchMethods include PixivMethods + def visible? + return false if !Danbooru.config.can_user_see_post?(CurrentUser.user, self) + return false if CurrentUser.safe_mode? && rating != "s" + return false if is_banned? && !CurrentUser.is_gold? + return true + end + def reload(options = nil) super reset_tag_array_cache diff --git a/app/presenters/post_presenter.rb b/app/presenters/post_presenter.rb index 46e739173..74ad40f02 100644 --- a/app/presenters/post_presenter.rb +++ b/app/presenters/post_presenter.rb @@ -3,12 +3,8 @@ class PostPresenter < Presenter if post.is_deleted? && options[:tags] !~ /status:(?:all|any|deleted|banned)/ && !options[:raw] return "" end - - if post.is_banned? && !CurrentUser.is_gold? - return "" - end - unless Danbooru.config.can_user_see_post?(CurrentUser.user, post) + if !post.visible? return "" end @@ -138,6 +134,7 @@ class PostPresenter < Presenter def image_html(template) return template.content_tag("p", "The artist requested removal of this image") if @post.is_banned? && !CurrentUser.user.is_gold? return template.content_tag("p", template.link_to("You need a gold account to see this image.", template.upgrade_information_users_path)) if !Danbooru.config.can_user_see_post?(CurrentUser.user, @post) + return template.content_tag("p", "This image is unavailable") if !@post.visible? if @post.is_flash? template.render("posts/partials/show/flash", :post => @post) diff --git a/app/views/comments/index_by_comment.html.erb b/app/views/comments/index_by_comment.html.erb index ddd2d7af0..4fc834eee 100644 --- a/app/views/comments/index_by_comment.html.erb +++ b/app/views/comments/index_by_comment.html.erb @@ -7,7 +7,9 @@ <% @comments.each do |comment| %>