]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/diary_comments_controller.rb
Discard fragments from wikimedia_commons tag values
[rails.git] / app / controllers / diary_comments_controller.rb
index f1add85f03329363b8668431477b504f68ddaf56..8abf2071b383a4e9842f7b430376b6ce11b47209 100644 (file)
@@ -11,6 +11,7 @@ class DiaryCommentsController < ApplicationController
   authorize_resource
 
   before_action :lookup_user, :only => :index
   authorize_resource
 
   before_action :lookup_user, :only => :index
+  before_action :check_database_writable, :only => [:hide, :unhide]
 
   allow_thirdparty_images :only => :index
 
 
   allow_thirdparty_images :only => :index
 
@@ -18,10 +19,22 @@ class DiaryCommentsController < ApplicationController
     @title = t ".title", :user => @user.display_name
 
     comments = DiaryComment.where(:user => @user)
     @title = t ".title", :user => @user.display_name
 
     comments = DiaryComment.where(:user => @user)
-    comments = comments.visible unless can? :unhidecomment, DiaryEntry
+    comments = comments.visible unless can? :unhide, DiaryComment
 
     @params = params.permit(:display_name, :before, :after)
 
     @comments, @newer_comments_id, @older_comments_id = get_page_items(comments, :includes => [:user])
   end
 
     @params = params.permit(:display_name, :before, :after)
 
     @comments, @newer_comments_id, @older_comments_id = get_page_items(comments, :includes => [:user])
   end
+
+  def hide
+    comment = DiaryComment.find(params[:comment])
+    comment.update(:visible => false)
+    redirect_to diary_entry_path(comment.diary_entry.user, comment.diary_entry)
+  end
+
+  def unhide
+    comment = DiaryComment.find(params[:comment])
+    comment.update(:visible => true)
+    redirect_to diary_entry_path(comment.diary_entry.user, comment.diary_entry)
+  end
 end
 end