diff --git a/app/controllers/post_versions_controller.rb b/app/controllers/post_versions_controller.rb
index ddf634239..bc0ac7d20 100644
--- a/app/controllers/post_versions_controller.rb
+++ b/app/controllers/post_versions_controller.rb
@@ -16,7 +16,11 @@ class PostVersionsController < ApplicationController
def undo
@post_version = PostVersion.find(params[:id])
- @post_version.undo!
+
+ if Danbooru.config.can_user_see_post?(CurrentUser.user, @post_version.post)
+ @post_version.undo!
+ end
+
respond_with(@post_version) do |format|
format.js
end
diff --git a/app/controllers/posts_controller.rb b/app/controllers/posts_controller.rb
index 219cf6608..7b995bcc2 100644
--- a/app/controllers/posts_controller.rb
+++ b/app/controllers/posts_controller.rb
@@ -69,7 +69,11 @@ class PostsController < ApplicationController
def revert
@post = Post.find(params[:id])
@version = PostVersion.find(params[:version_id])
- @post.revert_to!(@version)
+
+ if Danbooru.config.can_user_see_post?(CurrentUser.user, @post)
+ @post.revert_to!(@version)
+ end
+
respond_with(@post) do |format|
format.js
end
diff --git a/app/views/post_versions/_listing.html.erb b/app/views/post_versions/_listing.html.erb
index fbb61dc26..a146a7d41 100644
--- a/app/views/post_versions/_listing.html.erb
+++ b/app/views/post_versions/_listing.html.erb
@@ -36,10 +36,12 @@
<%= post_version_diff(post_version) %> |
<% if CurrentUser.is_member? %>
- <% if post_version.id != post_version.post.versions.first.id %>
- <%= link_to "Undo", undo_post_version_path(post_version), :method => :put, :remote => true %> |
+ <% if Danbooru.config.can_user_see_post?(CurrentUser.user, post_version.post) %>
+ <% if post_version.id != post_version.post.versions.first.id %>
+ <%= link_to "Undo", undo_post_version_path(post_version), :method => :put, :remote => true %> |
+ <% end %>
+ <%= link_to "Revert to", revert_post_path(post_version.post_id, :version_id => post_version.id), :method => :put, :remote => true %>
<% end %>
- <%= link_to "Revert to", revert_post_path(post_version.post_id, :version_id => post_version.id), :method => :put, :remote => true %>
|
<% end %>
diff --git a/app/views/posts/show.html.erb b/app/views/posts/show.html.erb
index 3e4bbe2ff..3b9e3b69a 100644
--- a/app/views/posts/show.html.erb
+++ b/app/views/posts/show.html.erb
@@ -24,9 +24,7 @@
History
- <% if Danbooru.config.can_user_see_post?(CurrentUser.user, @post) %>
- - <%= fast_link_to "Tags", post_versions_path(:search => {:post_id => @post.id}) %>
- <% end %>
+ - <%= fast_link_to "Tags", post_versions_path(:search => {:post_id => @post.id}) %>
- <%= fast_link_to "Notes", note_versions_path(:search => {:post_id => @post.id}) %>
- <%= fast_link_to "Flags", post_flags_path(:search => {:post_id => @post.id}) %>
- <%= fast_link_to "Appeals", post_appeals_path(:search => {:post_id => @post.id}) %>