diff --git a/app/controllers/posts_controller.rb b/app/controllers/posts_controller.rb index cdedc4f84..fb53acc41 100644 --- a/app/controllers/posts_controller.rb +++ b/app/controllers/posts_controller.rb @@ -16,6 +16,12 @@ class PostsController < ApplicationController def show @post = Post.find(params[:id]) + + if !Danbooru.config.can_user_see_post?(CurrentUser.user, @post) + redirect_to(:back, :notice => "Post #{@post.id} is not available") + return + end + @post_flag = PostFlag.new(:post_id => @post.id) @post_appeal = PostAppeal.new(:post_id => @post.id) respond_with(@post) @@ -32,7 +38,11 @@ class PostsController < ApplicationController def update @post = Post.find(params[:id]) - @post.update_attributes(params[:post], :as => CurrentUser.role) + + if Danbooru.config.can_user_see_post?(CurrentUser.user, @post) + @post.update_attributes(params[:post], :as => CurrentUser.role) + end + respond_with(@post) do |format| format.html do if @post.errors.any? diff --git a/app/views/posts/partials/show/_edit.html.erb b/app/views/posts/partials/show/_edit.html.erb index 4e4e574a0..b0da1e22a 100644 --- a/app/views/posts/partials/show/_edit.html.erb +++ b/app/views/posts/partials/show/_edit.html.erb @@ -13,7 +13,7 @@ This post is rating locked. <% else %> <%= f.label :blank, "Rating" %> - +
<% end %> - + <% if CurrentUser.is_builder? %>