From 90f3156a73922c1c8462a9d2a75af01629b608ac Mon Sep 17 00:00:00 2001 From: r888888888 Date: Thu, 17 Apr 2014 14:17:11 -0700 Subject: [PATCH] fixes #2132 --- app/logical/post_sets/post.rb | 4 ++-- app/models/wiki_page.rb | 4 ++++ app/models/wiki_page_version.rb | 6 ++++++ app/views/wiki_page_versions/show.html.erb | 6 +++++- app/views/wiki_pages/show.html.erb | 16 ++++++++++------ 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/app/logical/post_sets/post.rb b/app/logical/post_sets/post.rb index cb56ba032..c4008d296 100644 --- a/app/logical/post_sets/post.rb +++ b/app/logical/post_sets/post.rb @@ -35,11 +35,11 @@ module PostSets end def has_artist? - is_single_tag? && ::Artist.named(tag_string).active.exists? + is_single_tag? && artist.present? && artist.visible? end def artist - ::Artist.named(tag_string).active.first + @artist ||= ::Artist.named(tag_string).active.first end def pool_name diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 9a5c855f1..65ce87e2b 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -203,4 +203,8 @@ class WikiPage < ActiveRecord::Base def create_mod_action_for_destroy ModAction.create(:description => "permanently deleted wiki page [[#{title}]]") end + + def visible? + artist.blank? || !artist.is_banned? || CurrentUser.user.is_janitor? + end end diff --git a/app/models/wiki_page_version.rb b/app/models/wiki_page_version.rb index df272c4cb..3d2b4bd23 100644 --- a/app/models/wiki_page_version.rb +++ b/app/models/wiki_page_version.rb @@ -1,6 +1,7 @@ class WikiPageVersion < ActiveRecord::Base belongs_to :wiki_page belongs_to :updater, :class_name => "User" + belongs_to :artist attr_accessible :wiki_page_id, :title, :body, :is_locked, :updater_id, :updater_ip_addr, :version module SearchMethods @@ -37,4 +38,9 @@ class WikiPageVersion < ActiveRecord::Base def category_name Tag.category_for(title) end + + def visible? + artist.blank? || !artist.is_banned? || CurrentUser.user.is_janitor? + end + end diff --git a/app/views/wiki_page_versions/show.html.erb b/app/views/wiki_page_versions/show.html.erb index b8fdb58be..9d0374dc3 100644 --- a/app/views/wiki_page_versions/show.html.erb +++ b/app/views/wiki_page_versions/show.html.erb @@ -6,7 +6,11 @@

<%= @wiki_page_version.pretty_title %> (<%= time_ago_in_words_tagged(@wiki_page_version.updated_at) %>)

- <%= format_text(@wiki_page_version.body) %> + <% if @wiki_page_version.visible? %> + <%= format_text(@wiki_page_version.body) %> + <% else %> +

This artist has requested removal of their information.

+ <% end %>
diff --git a/app/views/wiki_pages/show.html.erb b/app/views/wiki_pages/show.html.erb index 38d2ede9e..6549c8933 100644 --- a/app/views/wiki_pages/show.html.erb +++ b/app/views/wiki_pages/show.html.erb @@ -13,16 +13,20 @@
- <%= format_text(@wiki_page.body) %> + <% if @wiki_page.visible? %> + <%= format_text(@wiki_page.body) %> - <% if @wiki_page.artist %> -

<%= link_to "View artist", @wiki_page.artist %>

+ <% if @wiki_page.artist %> +

<%= link_to "View artist", @wiki_page.artist %>

+ <% end %> + + <%= wiki_page_alias_and_implication_list(@wiki_page) %> + <% else %> +

This artist has requested removal of their information.

<% end %> - - <%= wiki_page_alias_and_implication_list(@wiki_page) %>
- <%= wiki_page_post_previews(@wiki_page) %> + <%= wiki_page_post_previews(@wiki_page) %>